我在位置UIView
放置了w=140, h=33
大小x=16 ,y=20
并应用了这些约束。
我希望UIView
显示在屏幕的一半上,无论方向或屏幕尺寸如何。
但结果是纵向方向
在横向方向上,UIView
消失了。
为什么我会收到此行为,在autolayout
视图宽度&高度是根据约束计算的。
答案 0 :(得分:2)
我设法弄清楚如何实现您正在寻找的目标。 一旦你弄明白,它就相当简单了。首先,清除所有限制因素。将UIView放在所有屏幕上,如下所示:
然后,将约束添加到Superview。
编辑:现在您需要将乘数2用于框大小的一半。
然后,转到“尺寸”检查器,选择“超级视图的尾随空间”,然后单击“编辑”。您将看到编辑屏幕,您将在其中看到乘数属性。将它设置为0.5,然后它将始终位于屏幕中间。
还要考虑添加一个高度约束,就好像你没有对视图进行压缩。这很简单。视图将自动更新,您将获得最终结果:
希望有帮助,朱利安