XCode自动布局表现不佳

时间:2017-09-16 12:11:31

标签: ios autolayout xcode8

为了让iPhone布局在iPad上以“正确”尺寸显示,我将所有内容(玫瑰色)放入ViewController(黄金)中的视图(蓝色)

Click / tap to see Schematic View

iPad显示为带灰色状态栏的较大框架。

因此,为了迎合7plus尺寸的iPhone向下,我必须为具有不同优先级的iPad框架中的7+设置约束 在不同的方向。一旦设置了蓝色视图,我很乐意能够在I.B。

中添加我的子视图

由于整批必须出现在Ipads的正中心,步骤(1)是设置蓝色View的对齐中心线约束,优先级为1000.

接下来将修复大于7+的iPad显示器的尺寸。实现设置大小约束作为最大缩小。我只显示了≤680,所以高度或更低,如步骤(2),但优先级较低,比如750.

然后,为了减小尺寸朝向SE尺寸我希望保持距离viewController(黄金)20个点。所以对此的约束应该是≥20。如(3)所示,我已经分配了740

校长在水平方向很好地工作,但不在垂直方向。我已经无休止地尝试调整不同的优先级分配,包括“内容拥抱”和“内容压缩阻力”属性,一旦我在蓝色视图中放入我想要查看(玫瑰)的实际实体,我似乎永远不会得到预期的结果

我已经仔细阅读了Apple的Autolayout设计指南,几乎可以说我已经编写了这些指南,经过35年以上的CAD和3D动画建模,我想我可以在iPhone存在之前用文本参数描述对象。

但我在这里被击败了。我是否已经走了很长一段路才能正确显示** iPhone **布局?我的小秃头感谢你的回答。

1 个答案:

答案 0 :(得分:0)

如果是我,我会使用特征变体,而不是尝试在一组约束中处理每个尺寸类的布局。我认为,如果你采用这种方法,你可以通过更少的工作以及与未来可能出现的设备无关的方式完成你所追求的目标。

此外,请记住,如果您的应用支持iPad多任务处理,您可能会在iPad上拥有您不期望的尺寸(例如设备横向方向的iPhone纵向宽度)。

使用自动布局时,尽量不要考虑设备类型或方向。根据您想要的特定尺寸等级,无论出现在何处,无论在何种设备方向,都要考虑。这使您有机会为给定的显示区域创建最佳用户体验,并在初始开发期间以及添加新功能或新用户设备混合时使您的生活更轻松。