自动布局不适合iphone 6中的UITextfield

时间:2015-04-02 06:36:31

标签: ios iphone autolayout

这是我在AutoLayout中的第一次尝试,我不知道错误是什么

当我在iPhone 5上运行时,它显示为 first image

当我在iPhone 6上运行时,它显示为

second image

为什么它会扩展按钮高度以及UITextField宽度。 我正在学习项目工作的自动布局。

提前致谢。

1 个答案:

答案 0 :(得分:1)

简而言之,您可能已将第三行按钮的顶部,左侧,右侧和底部边缘固定到其直接邻居的边缘。 精心设计,两个按钮' -

  1. 上边缘可能已固定在分段控件的下边缘,
  2. 底部,左右边缘可能已固定在ViewController的底部,左右边缘。
  3. 这就是为什么当屏幕高度延伸时,按钮会假设它们也需要延伸它们的高度。

    解决方案:

    首先找出你想要的东西。你有两个选择 -

    a。您可能希望将按钮与分段控件保持一定距离或

    湾您可能希望将按钮放在屏幕的底部边缘。

    选项a:

    不要将按钮的下边缘固定到其父视图(灰色视图)的底部,否则它将随着屏幕的高度而延伸。因此,只需将其顶部设置到分段控件的底部,这样您的按钮始终知道它需要的距离,并指定其宽度和高度。

    enter image description here

    选项b:

    将按钮的下边缘固定到其父视图(灰色视图' s)的底部。在这种情况下,不要将顶部空间设置为分段控件。这样,您的按钮将始终知道它需要保持在底部。同样在这种情况下,您需要指定按钮的高度和宽度

    enter image description here 最后,随着屏幕宽度的增加,文本字段的宽度也增加了。也许,您将文本字段的左右边缘设置为视图控制器的左右边缘,这是好的。您只需要以与文本字段相同的方式设置灰色视图的左右边缘。

    一个建议:始终确保您的元素/视图知道如何计算其大小以及开始或结束位置,并指定尽可能少的约束,因为您放置的约束越多,getter就有可能发生冲突。< / p>

    我希望,这有帮助。