是否可以使用AutoLayout将UIView
的{{1}}设置为相对于其他top
的{{1}}?换句话说,我想根据屏幕尺寸的高度给出不同的顶部值。
例如,我希望下图中的第三个结果不是秒。
答案 0 :(得分:0)
为了达到瞄准的目的,你可以使用一点" hack",添加三个附件UIView(背景清晰):
Top Layout Guide
Bottom Layout Guide
接下来,您需要在视图#1和#2 之间以及视图#2和#3 之间添加另外两个约束Equal Widths
最后,您需要在所有视图之间添加Vertical Spacing
约束(= 0),将每个视图与下面(或结束)的视图相关联。这里的关键是将它们锁定在它们之间,这样垂直布局就不会很暧昧。
现在你只需要为blue&添加一个特定的高度约束。紫色视图,如果屏幕尺寸发生变化,它们将保持原位浮动。
注意#1:请务必将这些附件视图限制在主ViewController视图中,以便将它们置于中心位置。使它们适合父宽度
注意#2:如果您之前不知道自己的身高,此解决方案将不工作。您可以尝试将某些约束设置为
Greater Than
,同时使用优先级,但我没有对其进行测试。