2017-07-30 18 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

これを試してみてください:

注:WebViewの

のためにあなたがfalseに(制約を適用する前に)、このプロパティを設定していることを確認してください
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 
関連する問題