在XCode Playground中添加约束时出错

时间:2018-03-16 09:40:56

标签: swift autolayout swift-playground

我在我的操场上有这个班,里面有一个UIButton。 一切都很好,直到我尝试使用第二个项目添加约束(宽度/高度约束工作)。

class ButtonView: UIView {
    required init?(coder aDecoder: NSCoder) { ... }

    override init(frame: CGRect) {
        super.init(frame: frame)
        //ButtonView Setup
        ...
        let button = Button()
        //Button Constraints
        button.translatesAutoresizingMaskIntoConstraints = false
        button.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true //Error here
        self.layoutIfNeeded()
        self.addSubview(button)

    }

    var button: Button?

}

self是合适的项目,对吗?这是UIView。所以我没有看到问题。

1 个答案:

答案 0 :(得分:3)

在添加约束

之前应添加项目
self.addSubview(button)
button.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true