例如,我想继承UIButton
并设置它的字体在默认情况下20.0f
。我可以写这样的事情:
@IBDesignable
class HCButton: UIButton {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.customInit()
}
func customInit () {
titleLabel?.font = UIFont.systemFontOfSize(20)
}
}
但是,这并不影响预览界面生成器中,所有的自定义按钮出现在默认情况下15.0f
字体大小。有什么想法吗?
我已经创造了新的IBInspectable
为testFonts
:
import UIKit
@IBDesignable
class CustomButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
self.customInit()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.customInit()
}
func customInit () {
titleLabel?.font = UIFont.systemFontOfSize(20)
}
convenience init() {
self.init(frame:CGRectZero)
self.customInit()
}
override func awakeFromNib() {
super.awakeFromNib()
self.customInit()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
self.customInit()
}
}
希望它可以帮助你:)
这是为我工作。
我认为你必须重写与框架初始化初始化以及影响该
override init(frame: CGRect) {
super.init(frame: frame)
self.customInit()
}
简单:以下解决方案通常工作或我
import UIKit
@IBDesignable
class CustomButton: UIButton {
open override func layoutSubviews() {
super.layoutSubviews()
customInit()
}
func customInit () {
titleLabel?.font = UIFont.systemFontOfSize(20)
}
}
我希望这是你在找什么。