【问题标题】:Subview vertical alignement with Swift使用 Swift 的子视图垂直对齐
【发布时间】:2021-10-26 23:50:46
【问题描述】:

我尝试在其父级中对齐容器视图,但它不尊重我尝试设置的约束。

我以前从未使用过编程约束。 当我希望它与底部对齐时,子视图直接转到顶部

var constraintButton = NSLayoutConstraint (item: playerController.view,
                                           attribute: NSLayoutConstraint.Attribute.bottom,
                                           relatedBy: NSLayoutConstraint.Relation.equal,
                                           toItem: rc.view,
                                           attribute: NSLayoutConstraint.Attribute.bottom,
                                           multiplier: 1,
                                           constant: 0)
rc.view.addConstraint(constraintButton)
constraintButton.isActive=true
playerController.didMove(toParent: rc)

【问题讨论】:

  • 别忘了做rc.view.translatesAutoresizingMaskIntoConstraints = false
  • 嗨!我已经尝试过了,但它并没有改变任何东西,playerController 保持在顶部。

标签: ios swift constraints vertical-alignment


【解决方案1】:

在创建约束之前,父视图和容器视图应将属性 translatesAutoresizingMaskIntoConstraints 设置为 false。
试试这个代码:

playerController.view.translatesAutoresizingMaskIntoConstraints = false
rc.view.translatesAutoresizingMaskIntoConstraints = false

// Below is your constraints setting code.
var constraintButton = NSLayoutConstraint (item: playerController.view,
                                           attribute: NSLayoutConstraint.Attribute.bottom,
                                           relatedBy: NSLayoutConstraint.Relation.equal,
                                           toItem: rc.view,
                                           attribute: NSLayoutConstraint.Attribute.bottom,
                                           multiplier: 1,
                                           constant: 0)
rc.view.addConstraint(constraintButton)
constraintButton.isActive=true
playerController.didMove(toParent: rc)

【讨论】:

  • 它不起作用:/我刚刚添加了情节提要,它可能会有所帮助,它真的很简单,rootViewController (rc) with 2 Container View
  • 你只是设置这个约束吗?只有一个约束可能无法让您的观点与您的想法一致。并且您应该满足所有约束以使其正确。就像您只指定视图的 y 轴位置一样。但是系统不知道如何在 x 轴上设置视图以及如何设置它的宽度和高度。
猜你喜欢
  • 2021-08-22
  • 2011-01-20
  • 2021-02-26
  • 2013-04-17
  • 1970-01-01
  • 2019-04-27
  • 1970-01-01
  • 2022-01-06
  • 2010-12-03
相关资源
最近更新 更多