使用自动布局调整视图大小
Posted
技术标签:
【中文标题】使用自动布局调整视图大小【英文标题】:Resizing views using auto layout 【发布时间】:2014-07-18 01:40:20 【问题描述】:我有一个视图控制器,其中包含一个自定义视图,其下方有一个 UITableView。
当我在代码中更改自定义视图的高度时,我试图弄清楚如何调整表格视图的大小以填充剩余空间。我希望使用自动布局约束来完成这项工作!
除此之外,由于某种原因,当我什么也没做时,我无法以编程方式调整使用情节提要制作的自定义视图的高度。
自动布局既邪恶又神奇。请帮帮我!
【问题讨论】:
您是否使用 setFrame: 来调整自定义视图的大小?如果它有自动布局约束 setFrame: 不工作。 是的,我使用了 setFrame,那么如果在视图上设置了约束,setFrame 会被完全忽略吗?这是否意味着您需要为高度约束创建一个 IBOutlet 并这样做? 是的。您还可以在这里做一件事。检查这个。 ***.com/questions/13186908/… 哇,谢谢,我以前从未听说过该属性,所以我会尝试一下! 我仍然无法得到我想要的结果,自动布局有时并不酷。 【参考方案1】:调整自动布局视图的大小。您必须修改约束的值。
我假设您已经有如下限制。 在视图控制器中制作 NSLayoutConstraint 的 IBOutlet:
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *headerHeightConstraint;
将标题视图的 height 约束连接到它。 然后,您可以调整标题视图的高度:
headerHeightConstraint.constant = 100.0f;
【讨论】:
好的,我现在就试试。感谢您提供图片的麻烦,我很感激。 哇。 没有 认为可以为约束创建 IBOutlets。谢谢。以上是关于使用自动布局调整视图大小的主要内容,如果未能解决你的问题,请参考以下文章