我在Xcode 6中使用Interface Builder来制作应用程序,并且无法在不同大小的屏幕上将文本字段和按钮置于屏幕中心。
我认为这是在容器中选择水平和垂直居中的问题,但是当我在自动布局中尝试它时似乎并不是这样。实际上我已经修了一下,我还没有得到它。
我只是希望能够看到任何尺寸iPhone屏幕的所有按钮和文本字段,而现在模拟器只显示这些UI元素的一部分:
我也想在故事板中而不是在代码中这样做,因为我还没有在代码中执行此操作。
答案 0 :(得分:12)
步骤1:确保您的尺寸等级至少在纵向视图中覆盖所有iPhone屏幕。因此,将size类更改为" wCompact hRegular"。
步骤2:正确设置大小类后,将UITextFields和UIButton添加到故事板。对我来说,它看起来像 -
第3步: 之前,你开始添加约束,你需要记住两件事 -
一个。你的元素(UITextField,UIButton,UIView或任何组件)需要明确地知道它的起始位置,并且
湾你的元素需要知道它的大小意义,它的高度和宽度。
在这种情况下,由于你想要使你的元素居中,我只是假设它需要从左边缘开始从10个刻度开始居中,并且应该从iPhone屏幕的右边缘结束10个刻度。现在,这意味着,它的宽度将根据屏幕尺寸而有所不同,但其高度将相同。
所以,我只是为第一个文本框添加以下方式的约束 -
注意,在尺寸检查器中,我设置文本框的起点x和宽度,使其距离左边缘10 pt,距右边缘10 pt。别担心,这只是简单的数学。
对于第二个textField,我以相同的方式添加约束 -
最后,对于按钮,约束是跟随 -
现在,你很高兴。一切都集中在一起。
希望这有帮助。
答案 1 :(得分:4)
通过在情节提要窗口底部使用尺寸类选择器,将尺寸设置为任意宽度和任何高度,然后按照以下自动布局约束。它会对你有用。
首先选择要设置自动布局的视图,然后从故事板右下角选择图钉选项,然后添加约束,如上图所示,然后单击按钮Add 4 constrains
对所有视图重复此过程,并将约束设置为Fix the top, bottom, left and right constrains of all views except the last button that should be fix from top,left,right and fixed height
。
答案 2 :(得分:1)
您需要在故事板窗口的底部使用大小类选择器。
因此,对于iPhone 6或6 Plus的肖像,您可以选择紧凑的宽度和常规高度,如下所示:
然后你会为那里的给定设备做任何自动布局的事情