rdu*_*and 5 ios autolayout xcode5
我在Xcode 5的iOS 7项目中遇到autolayout困难.假设我想显示这些按钮:
Something
-
| 10 pts fixed space from top
-
Button 1 50 pts height on 4" display, reduce height if 3"5
-
| 10 pts fixed space
-
Button 2 50 pts height on 4" display, reduce height if 3"5
Run Code Online (Sandbox Code Playgroud)
我在Interface Builder中布置我的按钮(带有故事板).
然后我开始添加约束:
问题是Autolayout抱怨我的按钮,说"预期:身高= 30".为什么?我想要一个50分的按钮,为什么这是一个问题?当然,我可以通过添加高度约束来解决这个问题,但是如果屏幕高度降低,我希望降低高度.并且,如果我运行它,即使在4"显示器上,按钮的高度设置为30,因为autolayout说它"应该"..而我甚至没有设置第二个按钮的约束,这将使它均匀更差.
我怎么能做到这样的事情?它似乎非常基本,我仍然不明白发生了什么.
请注意,我可以手动设置代码中的所有高度,但我真的想避免这种情况.
好吧,我想我做到了。
这是我所做的:
我在情节提要中设置了所有约束,使用 Retina 4 英寸外形。
某些视图的约束:固定高度和宽度、固定顶部空间和前导空间。这个观点是绝对固定的。
按钮 1 的约束:固定视图的垂直空间、固定的前导空间、固定的宽度。2高度限制:30 <= 高度 <= 50。
按钮 2 的约束:按钮 1 的固定垂直空间、固定引导空间、固定宽度。还有2 个高度限制:30 <= height <= 50。并将底部空间固定到底部布局。
所有约束的最大优先级均为 1000,除了最后一个(固定底部空间到底部布局),该优先级设置为 900 !
这样,按钮的高度将保持 >=30 并向上移动,但会垂直缩小,因为其他约束更重要。
非常感谢@VasiliyDeych 和@P.Sami 的建议。这很有帮助。
| 归档时间: |
|
| 查看次数: |
3821 次 |
| 最近记录: |