具有大小类的iPhone的比例布局(从5到6加)

时间:2014-10-15 15:58:15

标签: ios xcode interface-builder size-classes

我已经通过了一些关于大小类的教程,但我仍然无法理解一件事。

iPhone 5,iPhone 6和iPhone 6 Plus具有完全相同的屏幕宽高比,因此我希望它们使用相同的内容布局。通过说同样的意思,我的意思是与屏幕的宽度和高度成比例。

但是!我找不到让它与所有iPhone成比例的方法!

只有一些限制可以真正支持比例:"纵横比","相同宽度" +"乘数","相同的高度" +"乘数"

约束,例如前导边,容器中的水平中心,所有Pin约束都在逻辑点中使用绝对值,并且所有iPhone都在'屏幕在逻辑点上有不同的大小;因此我无法在所有iPhone上实现相同的画面。

更新

我添加了一张图片来解释我想要实现的目标:

enter image description here

3 个答案:

答案 0 :(得分:2)

如果你想使用更大的屏幕,你可能根本就不包括发射文件或发射图像的4.7"和5.5"设备,他们只会使用放大的4"布局。

但请不要做任何事情。屏幕可能具有相同的宽高比,但它们的大小不同,以这种方式对待它们会导致糟糕的用户体验。

答案 1 :(得分:1)

我有类似的问题并通过测试屏幕高度(或宽度)的图像来解决它,例如:

//iphone 5
if UIScreen.main.bounds.size.height == 568.0 {
// your code here
}

iphone屏幕高度如下:

iphone 5 = 568.0

iPhone 6 / 6s / 7 = 667.0

iphone 6/7 plus = 736.0

答案 2 :(得分:-1)

检查我为您做的Sample Project

假设您有一个按钮,然后按照下面提到的步骤将Button的比例高度,宽度和位置设置为父视图。

  1. 提供按钮宽高比。
  2. 将宽度等于父视图的宽度。
  3. 在容器和中心中水平添加约束中心 垂直放在容器中。
  4. 选择您的按钮,然后转到尺寸检查器并设置 宽度乘数(如0.3或0.4等)。
  5. 然后设置"将中心X对齐的乘数..." (如果你想要你的话 按钮离开中心然后将乘数设置为低于1,如0.8 0.7,0.5等如果您希望按钮位于中心右侧,则将乘数值设置为大于1,如1.2等。)
  6. 设置&#34的乘数值;将中心y对齐为..."就像在步骤
  7. 中一样

    全部完成..只需运行并检查。

    希望这会对你有所帮助。