class BigButton: UIButton { override init(frame: CGRect) { super.init(frame: frame) setup() } required init?(coder: NSCoder) { super.init(coder: coder) setup() } fileprivate func setup() { // set up stuff } }
从storyboard / xib创建视图时使用必需的init?(编码器:NSCoder).
因为后者是必需的,你必须实现它的身体.但是,如果您不打算手动创建按钮,则不需要第一个按钮,可以省略
在两者中都调用了setup,因为无论您选择创建按钮,都要设置其自定义行为,以便按预期工作