我正在使用Xcode 6中的Interface Builder制作应用程序,但在不同尺寸的屏幕上无法使文本字段和按钮居中。
我原以为只需要选择容器中的水平和垂直居中,但使用自动布局时似乎并非如此。事实上,我已经尝试过调整一些设置,但仍然没有得到想要的效果。
我希望能够在任何尺寸的iPhone屏幕上看到我的所有按钮和文本字段,而现在模拟器只显示这些UI元素的部分内容:
我还想在故事板中完成这个操作,而不是在代码中进行,因为我目前还不具备在代码中操作的水平。
我正在使用Xcode 6中的Interface Builder制作应用程序,但在不同尺寸的屏幕上无法使文本字段和按钮居中。
我原以为只需要选择容器中的水平和垂直居中,但使用自动布局时似乎并非如此。事实上,我已经尝试过调整一些设置,但仍然没有得到想要的效果。
我希望能够在任何尺寸的iPhone屏幕上看到我的所有按钮和文本字段,而现在模拟器只显示这些UI元素的部分内容:
我还想在故事板中完成这个操作,而不是在代码中进行,因为我目前还不具备在代码中操作的水平。
步骤 1:确保您的尺寸类至少覆盖 iPhone 屏幕的纵向视图。因此,请将尺寸类更改为 "wCompact hRegular"。
步骤 2:在正确设置尺寸类后,将UITextFields和UIButton添加到您的Storyboard中。对我来说,它看起来像这样-
步骤3: 在开始添加约束之前,您需要记住两件事-
a. 您的元素(UITextView、UIButton、UIView 或任何组件)需要明确其起始位置,
b. 您的元素需要知道其尺寸,即其高度和宽度。
在这种情况下,由于您想要将元素居中,我只是假设它需要从左侧边缘起始点中心开始,并且应该在 iPhone 屏幕的右侧边缘处结束 10 种规模。现在,这意味着它的宽度将根据屏幕大小而异,但其高度将相同。
因此,我按照以下方式添加了第一个文本框的约束-
请注意,在大小检查器中,我设置了文本框的起始点、x 和宽度,使其距离左边缘和右边缘都为 10 pt。别担心,这只是简单的数学计算。
对于第二个textField,我以相同方式添加了约束-
最后,对于按钮,约束如下所示-
现在,您可以开始了。一切都居中了。
通过在Storyboard窗口底部使用大小类别选择器,将大小设置为任意宽度和任意高度,然后按照下面的自动布局约束进行操作。这样就可以实现你想要的效果。
首先选择你想要设置自动布局的视图,然后从Storyboard的右下角选择“固定”选项,接着按照上图所示添加约束,并单击“添加4个约束
”按钮。
重复上述过程,对所有视图设置约束,具体设置方法是:除了最后一个按钮需从顶部、左侧、右侧固定且高度固定外,其他所有视图的顶部、底部、左侧和右侧都需固定
。
你需要在故事板窗口底部使用大小类别选择器。
对于 iPhone 6 或 6 Plus 横屏,您可以选择紧凑的宽度和常规的高度,如下所示: