【发布时间】:2018-05-21 05:32:16
【问题描述】:
我正在尝试对UIButton 进行子类化,以便它的默认初始化程序将其设置为与调用UIButton(type: UIButtonType.roundedRect) 时相同的方式。但是,由于某些 Swift 限制,我无法说明这不是指定的初始化程序。此外,buttonType 属性是只读的。
如何在 Swift 中做到这一点?
作为参考,此代码无法编译,因为我没有调用指定的初始化程序。
class ToggleButton : UIButton {
init() {
super.init(type: UIButtonType.roundedRect)
}
required init?(coder aDecoder: NSCoder) {
fatalError("TROUBLE")
}
}
【问题讨论】:
-
如果你想实现你的自定义 init() 方法,那么你必须使用指定的初始化器。
标签: ios swift uibutton initialization uikit