这是我在AutoLayout中的第一次尝试,我不知道错误是什么
当我在iPhone 5上运行时,它显示为
当我在iPhone 6上运行时,它显示为
为什么它会扩展按钮高度以及UITextField宽度。 我正在学习项目工作的自动布局。
提前致谢。
答案 0 :(得分:1)
简而言之,您可能已将第三行按钮的顶部,左侧,右侧和底部边缘固定到其直接邻居的边缘。 精心设计,两个按钮' -
这就是为什么当屏幕高度延伸时,按钮会假设它们也需要延伸它们的高度。
解决方案:
首先找出你想要的东西。你有两个选择 -
a。您可能希望将按钮与分段控件保持一定距离或
湾您可能希望将按钮放在屏幕的底部边缘。
选项a:
不要将按钮的下边缘固定到其父视图(灰色视图)的底部,否则它将随着屏幕的高度而延伸。因此,只需将其顶部设置到分段控件的底部,这样您的按钮始终知道它需要的距离,并指定其宽度和高度。
选项b:
将按钮的下边缘固定到其父视图(灰色视图' s)的底部。在这种情况下,不要将顶部空间设置为分段控件。这样,您的按钮将始终知道它需要保持在底部。同样在这种情况下,您需要指定按钮的高度和宽度
最后,随着屏幕宽度的增加,文本字段的宽度也增加了。也许,您将文本字段的左右边缘设置为视图控制器的左右边缘,这是好的。您只需要以与文本字段相同的方式设置灰色视图的左右边缘。
一个建议:始终确保您的元素/视图知道如何计算其大小以及开始或结束位置,并指定尽可能少的约束,因为您放置的约束越多,getter就有可能发生冲突。< / p>
我希望,这有帮助。