自定义 UIButton -> 点击后部分标题消失
Custom UIButton -> part of title disappears after click
我创建了自定义按钮 subclassing UIButton。
我为 titleLabel 设置了自定义字体。
点击自定义按钮后,标题部分消失。
不设置自定义字体,文字保持不变。
我认为这个问题只发生在针对 ios >= 13 的设备上。
点击之前 ->
点按后 ->
//基本按钮class
class BasicButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
override func layoutSubviews() {
super.layoutSubviews()
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
override func setTitle(_ title: String?, for state: UIControl.State) {
super.setTitle(title, for: state)
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
}
//扩展名 UIFont
@nonobjc class var proximaNovaBold: UIFont {
return UIFont(name: "ProximaNova-Bold", size: 17.0)!
}
//故事板
//BasicButton 故事板属性
]
将按钮的样式从普通更改为默认是问题的解决方案
我创建了自定义按钮 subclassing UIButton。 我为 titleLabel 设置了自定义字体。
点击自定义按钮后,标题部分消失。
不设置自定义字体,文字保持不变。
我认为这个问题只发生在针对 ios >= 13 的设备上。
点击之前 ->
点按后 ->
//基本按钮class
class BasicButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
override func layoutSubviews() {
super.layoutSubviews()
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
override func setTitle(_ title: String?, for state: UIControl.State) {
super.setTitle(title, for: state)
titleLabel?.font = UIFont.proximaNovaBold.withSize(20.0)
layoutIfNeeded()
}
}
//扩展名 UIFont
@nonobjc class var proximaNovaBold: UIFont {
return UIFont(name: "ProximaNova-Bold", size: 17.0)!
}
//故事板
//BasicButton 故事板属性
将按钮的样式从普通更改为默认是问题的解决方案