2017-07-30 81 views
-3

我有一个视图,我想要在它的超视图中水平和垂直居中。如何在iOS Swift 3中以编程方式设置元素中心?

我试过,但它不工作:

let horConstraint = NSLayoutConstraint(item: webView, attribute: .leading, relatedBy: .equal, toItem: view, attribute: .leading, multiplier: 1.0, constant: 0.0) 
view.addConstraints([horConstraint]) 

回答

1

试试这个:

注意:请确保您将此属性设置为false为webView的

webView.translatesAutoresizingMaskIntoConstraints = false 
(应用约束前)

对于x轴

let horConstraint = NSLayoutConstraint(item: webView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX ,multiplier: 1.0, constant: 0.0) 

对于Y轴

let verConstraint = NSLayoutConstraint(item: webView, attribute: .centerY, relatedBy: .equal, toItem: view, attribute: .centerY ,multiplier: 1.0, constant: 0.0) 

view.addConstraints([horConstraint, verConstraint]) 
1

我建议尝试使用这是更方便,更容易理解。此代码以我的观点为中心:

let someView = UIView() 
    someView.backgroundColor = .red 
    someView.translatesAutoresizingMaskIntoConstraints = false 
    view.addSubview(someView) 
    someView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true 
    someView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true 
    someView.heightAnchor.constraint(equalToConstant: 50).isActive = true 
    someView.widthAnchor.constraint(equalToConstant: 50).isActive = true 
相关问题