我正在尝试将UIButton
子类化,以便其默认的initilizer设置它与调用UIButton(type: UIButtonType.roundedRect)
时的方式相同。但是,由于一些Swift限制,我不能说这不是指定的启动器。此外,buttonType
属性是只读的。
如何在Swift中执行此操作?
作为参考,此代码无法编译,因为我没有调用指定的初始值设定项。
class ToggleButton : UIButton {
init() {
super.init(type: UIButtonType.roundedRect)
}
required init?(coder aDecoder: NSCoder) {
fatalError("TROUBLE")
}
}
答案 0 :(得分:1)
Swift对初始化器有点烦人。这应该为你做。
class ToggleButton : UIButton {
convenience init() {
self.init(type: .roundedRect)
}
convenience init(type buttonType: UIButtonType) {
self.init(type: buttonType)
}
required init?(coder aDecoder: NSCoder) {
fatalError("TROUBLE")
}
}