根据屏幕大小更改约束

时间:2016-07-27 14:47:48

标签: ios autolayout

我试着在我自己解决这个问题,但我真的无法理解自动布局。我也在这里搜索了一个解决方案,但我找不到有这个类似问题的人(虽然我看到很多人都在努力进行自动布局)。我想在横向模式下制作应用程序,以支持每个iPhone 5及更高版本。我设置了一些约束,结果如下:

How it should be

上面是关于它应该如何在每个设备上的正确图像。我可以相对于屏幕尺寸进行设置吗?我尝试用乘数改变数值,但这并没有很好。

How it is on bigger screens

在这里你可以看到它现在如何。因为这些值是绝对的而不是相对的,我认为它不会改变......顺便说一句,我使用“紧凑高度”来构建我的iPhone风景应用程序,这是正确的吗?或者这是造成这个大麻烦的原因吗?

1 个答案:

答案 0 :(得分:0)

这是一个快速浏览,可能比一般教程更适用于您的需求......

在故事板上创建元素并将它们放在大致正确的位置:

enter image description here

选择项目1-4并点击堆栈视图按钮,然后选择项目5-8并执行相同操作,Xcode非常擅长猜测您想要的内容,因此您将获得两个垂直堆栈视图,如下所示:

enter image description here

选择它们,再次点击堆栈视图按钮,您将获得一个包含两个垂直堆栈视图的水平堆栈视图:

enter image description here

然后选择此堆栈视图和标题,最后一次按下堆栈视图按钮将它们放入另一个垂直堆栈视图中:

enter image description here

如何只需要向外层堆栈视图添加一些约束,然后调整每个堆栈视图的设置。在这种情况下,我已经从视图边缘固定外部堆栈视图20,将外部堆栈视图设置为按比例填充,并将其他所有内容均匀填充,另外我将垂直堆栈视图设置为中心对齐。您可以使用所有这些设置来获得令您满意的结果:

enter image description here

现在可以在任何尺寸的屏幕上完美缩放:

enter image description here

我刚刚使用标签来提高速度,但相同的规则适用于图像或其他任何内容。

希望有所帮助,坚持使用教程并继续练习,直到你弄明白,从长远来看,它将为你节省大量时间。