【发布时间】:2021-12-25 06:49:32
【问题描述】:
我正在使用协议委托来设置 UIButton 的标题。然而,字体大小意外地从 14 变为 17。我尝试将按钮子类化以保持字体大小为 14,但显然出了点问题。有人建议,字体大小可能在某处存在冲突。但是,我找不到任何会产生冲突的代码。
子类按钮:
import UIKit
class typeButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
titleLabel?.font = UIFont(name: "Helvetica", size: 14)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
协议扩展:
extension ObservationDetailViewController: MushroomTypeDelegate {
func didSelectMushroom(name: String) {
typeButton.setTitle(name, for: .normal)
observation?.type = name
}
} // End of Extension
按钮通过 Storyboard 进行分类。如果我在设置按钮标题typeButton.setTitle(name, for: .normal)it shows the font at size 14 的行上放置一个断点。然而,当我越过断点时,字体意外地变大了。我可以使用属性文本和 setAttributedTitle 来解决这个问题,但我很好奇为什么要更改字体大小。
【问题讨论】: