我试图通过iPhone版本改变我的自动布局约束。特征的变化允许您根据大小类别而有所不同。然而,所有纵向的iPhone都是紧凑的宽度和规则的高度。
假设我有一个水平居中的元素,但我希望我的主视图顶部的距离因设备大小而异,我该如何实现?
答案 0 :(得分:2)
您无法在自动布局中指定屏幕尺寸或设备版本 - 仅限尺寸类。
如果相对定位/尺寸调整对您不起作用,并且您希望在iPhone SE上进行5点等定位,在iPhone 6上进行15点定位,则必须通过代码进行定位。您的选择是:
如果您阅读Apple关于自动布局的文档,您可以看到它是针对自适应界面设计,而不是备用界面设计。
答案 1 :(得分:1)
方法1:以编程方式更改约束值
如果要为iPhone变体设置不同的常量顶部值,请创建顶部约束的出口并更改其常量值。
_topConstraint.constant = Conditional code for each device.
方法2:设置自适应约束
例如:我拍摄了一个固定高度= 100,宽度= 200且水平居中的视图。
现在根据设备尺寸给出一个相应的顶部空间,请准备一些数学。
假设,iPhone5屏幕的顶部空间= 36磅。
总视图高度=视图顶部+视图高度= 36 + 100 = 136
总屏幕高度= 568底部比率= 568/136 = 4.17
因此,设置底部布局约束并将乘数添加为4.17。 enter image description here
在iPhone 7 plus和其他设备上,它会自动更改顶部。