【发布时间】:2018-11-09 00:09:42
【问题描述】:
class SpecialButton: UIButton {
init() {
super.init(frame: .zero)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我想创建一个 UIButton 的自定义按钮子类。我想设置这个按钮的约束。在视图控制器中,我可以使用view.addSubview() 方法并在那里设置button.topAnchor.constraint,但它在这个子类中不起作用。我该如何接近它?还是我试图以错误的方式接近它?我是编码新手,请告诉我。
这是我在类中放入超级视图属性后的代码。我认为它有效并解决了我的问题。有没有更好的解决方案告诉我。
class SpecialButton: UIButton {
let superView: UIView
init(superView: UIView) {
self.superView = superView
super.init(frame: .zero)
superView.addSubview(self)
self.translatesAutoresizingMaskIntoConstraints = false
self.topAnchor.constraint(equalTo: superView.topAnchor).isActive = true
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
【问题讨论】:
-
应该是一样的...贴出视图控制器的代码
-
发布您尝试过的内容
-
我不想在视图控制器中设置约束以使其干净。有可能吗?
-
我在问题中放了一个新的代码块,这是在子类中添加约束的好解决方案吗?
标签: ios swift uiview uibutton constraints