使用 AutoLayout 调整框架大小

Posted

技术标签:

【中文标题】使用 AutoLayout 调整框架大小【英文标题】:Frame Resizing using AutoLayout 【发布时间】:2015-12-16 13:39:47 【问题描述】:

我有一个UIView,里面有一个UIButton。我正在使用自动布局。现在我想降低UIView 的高度。我该怎么做?在降低 UIView 的高度时,视图内的 UIButton 也应该同时向上移动。如何使用自动布局来做到这一点?

【问题讨论】:

视图内的按钮...... 您需要在更改约束后调用 layoutIfneeded !!!查看此答案以获取更多信息:***.com/questions/20609206/… 【参考方案1】:

您可以为视图的高度限制创建 IBOutlet,您可以更改它的值。只需检查如何创建。

现在使用下面的代码来设置你的 UIVIew 的高度

  heightConstraintOfView.constant = DYNAMIC_HEIGHT;

【讨论】:

需要更多帮助然后告诉我。 所以在将视图高度设置为动态后,我可以更改框架(view.frame.height)。这个视图中的按钮会自动重新框起来吗? 不要忘记在你改变约束后做 layoutIfneeded !!! @Anilsolanki @MainakChoudhury 如果授权正确 - 是的 你不能用 view.frame.height 改变视图的框架。它不会起作用。但是如果你按照我的建议通过约束编码来改变高度,那么你不应该修复 UIbutton 的高度。让它没有固定高度的自动布局。

以上是关于使用 AutoLayout 调整框架大小的主要内容,如果未能解决你的问题,请参考以下文章

使用 AutoLayout 调整 UICollectionViewCell 及其内容的大小

使用 AutoLayout 调整 UIStackView 的大小

如何使用 Autolayout 调整 UITableView 的大小?

如何防止 UIImageView 使用 Autolayout 调整大小

如何使用 Cocoa Autolayout 根据优先级调整两个子视图的大小?

在iOS中使用autolayout调整内容大小的UILabel