iOS7自动布局,约束,压缩,内容拥抱

时间:2013-12-24 21:11:11

标签: ios objective-c ios7 autolayout

我有点难以理解自动布局,约束,优先级,压缩和内容拥抱。 我认为我理解它,但让它发挥得很好似乎是不可能的。

我有这个简单的视图,有3个按钮和一个标签。 我希望他们能够在用户定向屏幕时调整以适应屏幕。

所有按钮都固定在前导和尾随超视图上。 顶部标签的顶部固定在超级视图上。底部按钮的底部固定在superview上。

按钮之间存在垂直空间限制。 我已经尝试了不同的优先级来压缩按钮,让它们垂直挤压水平视图,但一切都从屏幕上消失。 或者其中一个下方按钮出现在上方按钮上方。

我确信我正在做一些非常简单的事情来制造这些错误。

有人能够就如何解决这个问题向我提供2美分吗?

非常感谢您的帮助!

圣诞快乐!

亚当

vertical

horizontal enter image description here

更新 - “更新所有相框”之后 旋转视图时,按钮01似乎消失了 enter image description here

**更新#02 - 几乎工作但不确定如何** 我似乎已经设法让它工作,但我不确定如何。 并且它不可靠 - 如果我调整标签和第一个按钮之间的约束,那么定向视图最终会缩小屏幕边界。 我会假设我可以调整垂直约束以便能够改变那个空间,但它只是弄得一团糟。 enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

将底部按钮固定到视图控制器的bottomLayoutGuide,而不是superview。通过控制 - 从底部按钮拖动到场景的文档大纲中的“底部布局指南”来执行此操作。

此外,您的界面对象未对齐;也就是说,帧与约束不匹配(或约束与帧不匹配)。这就是你看到虚线矩形轮廓的原因。转到故事板画布右下角的浮动工具栏,然后单击“解决自动布局问题”。从那里,选择“更新所有帧...”或“更新所有约束”。

我认为压缩阻力和内容拥抱优先级的默认值是足够的。