OGeek|极客世界-中国程序员成长平台

标题: ios - 自定义 UIButton 类以供重用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:22
标题: ios - 自定义 UIButton 类以供重用

已经在网上查找了一段时间,但没有得到关于如何完成的直接答案。

在我的应用程序中,我需要一个“下一步”按钮,该按钮将驻留在许多 ViewController 上。我希望这个下一个按钮是相同的(边框、相同的背景颜色、相同的自定义字体、相同的字体大小、相同的按钮大小)。

//Next Button Properties
[self.nextButtonOutlet setFrame:CGRectMake(120, 454, 80, 30)];
[[self.nextButtonOutlet layer] setBorderWidth:2.0f];
[[self.nextButtonOutlet layer] setBorderColor:UIColorFromRGB(0xbbffd6).CGColor];
self.nextButtonOutlet.titleLabel.font = [UIFont fontWithName"GothamRnd-Light" size:22.0];
[self.nextButtonOutlet setTitle"next" forState:UIControlStateNormal];
[self.nextButtonOutlet setBackgroundColor:UIColorFromRGB(0x72CE97)];
[self.nextButtonOutlet setTitleColor:UIColorFromRGB(0xbbffd6) forState:UIControlStateNormal];

在每个 View Controller 中编写所有这些代码似乎很愚蠢。

谁有办法解决这个问题?



Best Answer-推荐答案


class ReusableButton: UIButton {

override init(frame: CGRect) {
    super.init(frame: frame)
    self.layer.borderWidth = 1
    self.layer.borderColor = UIColor.lightGray.cgColor
    self.backgroundColor = .blue
    self.titleLabel?.font = UIFont(name: "fontName", size: fontSize)
    self.setTitle(title: "save", for: .normal)
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder has not been implemented")
}
}

现在在创建新按钮时您只需声明

var myBtn = ReusableButton()

希望这对您有所帮助。快乐编码:]

关于ios - 自定义 UIButton 类以供重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30549474/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4