使用自动布局在Storyboard中使用分辨率相同的大小元素

时间:2013-03-24 17:59:41

标签: ios autolayout

我有一个包含导航栏视图的故事板,我的目标是在下面有另外3个元素(按钮,视图,我认为这是不相关的)拉伸使得它们都具有相同的高度,并且相互粘贴,即他们之间没有差距。

我尝试使用AutoLayout通过设置top元素的约束来使用导航栏的垂直间距为0,使用下面的元素设置垂直间距0,并使用superview的垂直间距为0的底部元素底部和上面的元素。我还添加了所有元素具有相同高度的约束,一切都很好,直到我在Storyboard编辑器中从iPhone4切换到iPhone5视图时,它被InterfaceBuilder炸毁,删除了顶部元素的“坚持导航栏”约束并给出固定大小(不等于其他两个)。

摆弄它一段时间,以便在布局中的任何地方都没有绝对的高度,但是在iPhone5和iPhone4之间切换可以通过删除一些约束或将其他约束设置为固定值来打破我所做的一切。

有人知道使用AutoLayout实现此目的的方法,还是应该使用flowlayout进行UICollectionView?

或者换一种说法 - 在故事板中的“UIViewControler +导航栏”中,实现三个元素的最佳方式是相互粘贴并保持所有可能的当前和未来屏幕尺寸的相同高度“方案,使用InterfceBuilder?

(我对在代码中执行此操作的想法并不陌生,我知道如何去做,但如果有可能使用IB我就会这样做。)

1 个答案:

答案 0 :(得分:2)

你必须至少有一个其他约束才能开始,因为你描述的内容是不够的 - 这三个视图中的一个有高度设置(或内在高度),或者你有一个约束也在屏幕的底部。后者会导致它在屏幕尺寸变化时爆炸。您确实需要其中一个具有设定高度的项目,每个项目都具有与上方和下方相对的垂直间距约束,并且它们的高度都相同。如果没有其他限制(在垂直方向上)应该有效。