【问题标题】:How to set an element center of view programmatically in iOS Swift 3?如何在 iOS Swift 3 中以编程方式设置元素视图中心?
【发布时间】:2018-01-06 02:21:35
【问题描述】:

我有一个视图,我想在其父视图中水平和垂直居中。

我试过了,但它不起作用:

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

【问题讨论】:

    标签: ios swift layout autolayout constraints


    【解决方案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])
    

    【讨论】:

      【解决方案2】:

      我建议尝试使用更方便和易于理解的 Anchors。这段代码以我的观点为中心:

          let someView = UIView()
          someView.backgroundColor = .red
          someView.translatesAutoresizingMaskIntoConstraints = false
          view.addSubview(someView)
          NSLayoutConstraint.activate([
              someView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
              someView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
              someView.heightAnchor.constraint(equalToConstant: 50),
              someView.widthAnchor.constraint(equalToConstant: 50)
          ])
      

      【讨论】:

      • 我将它与 Google GIDSignInButton 一起使用。效果很好!
      猜你喜欢
      • 2017-09-25
      • 2015-11-23
      • 2015-11-20
      • 2017-07-28
      • 2018-02-10
      • 2018-12-15
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多