动态约束更新

时间:2014-12-17 18:04:49

标签: ios swift xcode6

在我的项目中有一些我想要实现的特定内容但是为了做到这一点,我可能会动态地更改视图的约束。假设我有一个UIView实例和一个UILabel实例。下图显示了它的外观。 (图片有点大,你知道所有iPhone 6; P)

enter image description here

最初是这样的。但是当出现一个视图时,我会进行计算(以确定是否更改容器的高度)并应用它们。如果需要减少容器(灰色视图),应用程序会这样做,最后我们可能会得到像......

enter image description here

我希望它可以完全按照我刚才描述的那样工作,但是......它没有。相反,它就像......

enter image description here

所以容器的高度发生了变化,但即使有限制,下面的标签也在同一个地方。所以我想知道如何根据更新的大小动态更新视图位置。

提前谢谢!

1 个答案:

答案 0 :(得分:7)

您应该明确使用约束。特别是标签必须具有约束"顶部空间才能查看"设为N分。 然后在约束"视图高度"中设置视图控制器中的插座。并更改该约束以调整视图高度。

@IBOutlet weak var viewHeightConstraint: NSLayoutConstraint!

func changeViewHeight(sender: AnyObject) {

    viewHeightConstraint.constant = newHeight
}

如果您需要更多详细信息,请与我们联系