ios自适应布局/大小类,以针对特定的手机大小?

时间:2015-01-29 19:00:00

标签: ios uistoryboard adaptive-ui

我已经失去了我的想法,无法使用自适应布局和大小类。并不是说我是一个天才,但现在我是秃头。

说我有一个非常简单的布局,我希望在3.5,4,4.7和5.5的iphone上确保看起来完美(并且完美,我的意思是所有我的ui元素都存在)。

好的,我从Any Any大小开始,所有元素都放置了约束,没有警告,没有错误。很高兴去。在预览模式下加载各种尺寸的手机,5.5看起来不错,4.7看起来不错,4看起来不错,3.5需要一些工作。

我想要3.5和4(不是4,4.7和5.5)的尺寸类别是实现这一目标的方式吗?我是否需要做多个故事板或者在代码中执行此操作或某种类型的设备大小检查?我遇到了一个走过多个故事板路线的人,看起来像是一个非常大的黑客,一群人对他的做法持怀疑态度,但我打赌他还有头发。

我想我要问的是,可以使用大小类来定位特定大小吗?如果您希望您的布局在3.5,4,4.7和5.5上看起来完美,建议的方法是什么?

3 个答案:

答案 0 :(得分:1)

不,大小班级无法真正帮助你。请不要做多个故事板。如果没有看到你的用户界面以及它在较小的屏幕上有什么问题,很难给出一些具体的建议,但在大多数情况下,你的用户界面无法在同一规模的同等级别之间进行适当缩放,我会在d说你应该重新考虑你的UI或你的约束。

在最糟糕的情况下,您可以找到有问题的约束,并根据屏幕大小从代码中更新这些约束。

答案 1 :(得分:0)

在这里查看我的答案:

https://stackoverflow.com/a/28093987/1135714

正如我所说,AutoLayout不是特定于设备的,但有一个解决方法。您可以通过代码放置UIView或设置约束(这非常简单)。

答案 2 :(得分:0)

只有一种名为compact size的Size-class适用于所有尺寸不同的iPhone设备。所以,解决方案是 1.设置约束时,必须设置关系(等于,大于或等于或小于或等于)。这有助于根据当前设备的大小调整视图大小或视图之间的间距。

为了获得您期望的外观,我们必须清除不同大小的不同约束设置,关系,不同大小的约束值(紧凑常规,紧凑紧凑,常规规则,常规紧凑)。 / p>