如何快速激活单个var约束

问题描述 投票:-1回答:1

下面我的快速代码试图声明2个约束,它们分别充当前导和前锚约束。我可以在情节提要中执行此操作,但是我不知道仅使用代码而不执行情节提要如何执行此操作。这是我的目标。我下面的代码没有编译,但必须关闭。

 @IBOutlet var dx : UITextField!

var lead = NSLayoutConstraint()
var top = NSLayoutConstraint()

override func viewDidLoad() {



    NSLayoutConstraint.activate([
        dx.topAnchor.constraint(equalTo: top, constant: 50),
        dx.leadingAnchor.constraint(equalTo: lead, constant: 50)





        ]
swift nslayoutconstraint var
1个回答
0
投票

假设您只是忘了粘贴在大括号中,那么您的问题是top和lead只是您在上面创建的任意布局约束。您想将其固定到您的superView的约束。

NSLayoutConstraint.activate([
    dx.topAnchor.constraint(equalTo: view.topAnchor, constant: 50),
    dx.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 50),
])

要在外部声明这些约束,请尝试类似的事情

class myVC: UIViewController {
    var myButton: UIButton!
    var buttonWidthConstraint: NSLayoutConstraint!
    var buttonHeightConstraint: NSLayoutConstraint!
    // Other ViewController Stuff
    override func viewDidLoad() {
        myButton = UIButton(frame: .zero)
        buttonWidthConstraint = myButton.widthAnchor.constraint(equalToConstant: 50)
        buttonHeightConstraint = myButton.heightAnchor.constraint(equalToConstant: 25)
        NSLayoutConstraint.activate([buttonWidthConstraint, buttonHeightConstraint])
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.