XCode的自动布局表现不好

问题描述:

为了获得一个iPhone的布局,以显示在iPad上的“正确”的尺寸,我把一切(玫瑰)到视图控制器(金)内的视图(蓝色)XCode的自动布局表现不好

Click/tap to see Schematic View

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

因此,为了迎合7plus尺寸的iPhone向下,我必须在不同的方向上设置不同优先级 的iPad框架内的7+的约束。一旦蓝色视图被设置,我应该愉快地能够在I.B中添加我的子视图。

由于整个很多具有出现在IPADS的中心,工序(1)是设置蓝色视图的取向中心线约束与1000

优先

接着将固定大小对于iPad显示大于7+。达到最大设置尺寸限制以缩小距离。我只显示了≤680,所以高度或更低,如步骤(2),但较低的优先级,比如说750.

然后为了减小尺寸向东南大小我想要说20远离viewController(黄金)。所以约束应该是≥20。如(3)所示,我已分配740

主体在水平方向很好地工作,但不是垂直方向。我已经无休止地尝试调整不同的优先级分配,包括“内容拥抱”和“内容压缩抵抗”属性,并且一旦我将想要在蓝色视图中看到(玫瑰)的实际实体放入其中,我似乎从未得到期望的结果。

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

但我一直在这里被打败。我是否花了很长时间才得到一个只有** iPhone的布局才能正确显示?我的小秃头的地方感谢你的回答。

+0

刚刚意识到圈出的(1)处于错误的位置。考虑它在中心线附近 – bananamiss

+1

很难想象已经完成了什么......你想要什么......以及你写了什么代码/限制。向我们展示您从Simulator获得的最终结果。同时告诉我们你写的限制。不要写下来,直接告诉我们你做了什么! – Honey

+0

您的目标是拥有“iPhone Only Only Only”应用程序设计吗?你只是希望它在iPad上运行时“扩展”? – DonMag

如果是我,我会使用特征变体而不是尝试处理一组约束中的每个大小类的布局。我认为,如果你采取这种方法,你可以在很少的工作和独立于未来可能出现的设备的情况下完成你的工作。另外,请记住,如果您的应用程序支持iPad多任务处理功能,则您可能在iPad上具有不期望的尺寸(如设备横向方向中的iPhone纵向宽度)。

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