gpt4 book ai didi

ios - UIButton TitleLabel - 当 titleLabel 为零时如何设置 UIButton 的字体?

转载 作者:行者123 更新时间:2023-11-30 10:25:29 25 4
gpt4 key购买 nike

我正在尝试更改按钮类的字体(在启动按钮之前),但它不起作用。看来“titleLabel”是问题所在,因为它为零。

guard let object = NSClassFromString(button.key) as? UIButton.Type else { return }
let buttonClass = object.self

buttonClass.appearance().titleLabel?.text = UIFont(name: "HelveticaNeue-Thin", size: 20)

这里的 titleLabel 为零,所以它不起作用。

我也尝试在我的类中设置标签的字体(MBButton 是我的类),但这不起作用

UILabel.appearance(whenContainedInInstancesOf[MBButton.self]).font = UIFont(name: "HelveticaNeue-Thin", size: 20)

最佳答案

您可以在子类按钮设置中设置标题标签的字体:

@IBDesignable
class MMButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
commonInit()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
commonInit()
}
func commonInit() -> Void {
titleLabel?.font = UIFont(name: "HelveticaNeue-Thin", size: 20)
// other customization here...
}
}

或者,如果您想使用 .appearance() 方法,请添加扩展:

class MMButton: UIButton {
// whatever you're doing for customization
}

extension MMButton {
@objc dynamic var titleLabelFont: UIFont! {
get { return self.titleLabel?.font }
set { self.titleLabel?.font = newValue }
}
}

那么,

MMButton.appearance().titleLabelFont = UIFont(name: "HelveticaNeue-Thin", size: 20)

关于ios - UIButton TitleLabel - 当 titleLabel 为零时如何设置 UIButton 的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60080641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com