Any-Any大小类被ios7忽略

Mor*_*ess 8 interface-builder ios xcode6 size-classes

我正在为iOS7和8 iPhone开发.由于iOS7不支持紧凑高度大小类,我认为解决这个问题的共识是使用任意大小的类来构建横向iPhone布局,并使用纵向宽度常规高度(cWrH)大小类来实现肖像iPhone布局.

我在any-any中对视图设置了约束,然后将cWrH中的约束常量修改为特定于该size类.但是,iOS7设备和Xcode预览会忽略any-any约束,并对纵向和横向使用cWrH约束.

我不知道为什么会这样.我想要做的就是根据方向设置不同的约束.

使用最新的Xcode 6.0.1可以轻松复制.

半相关:Xcode 6自适应UI如何与iOS 7和iOS 6向后兼容?

屏幕截图如下:

在Any-Any中,矩形的x和y为0 对于cWrH大小类,y = 100

Dha*_*yas 0

根据您的问题,您所做的是在任何尺寸类中给出前导、顶部、高度和宽度约束。

因此,现在对于任何横向和纵向设备,其位置都将是固定的。现在,当您将尺寸类别更改为紧凑宽度并更改顶部约束时,它将影响纵向和横向。

您需要使用 Any-Any 的尺寸类别来将控件放置在视图控制器中,并设置您希望在纵向和横向中保留的约束。

例如:如果您想保持高度和宽度固定,请在“任意尺寸类”中给出这些约束。

在任意尺寸类中设置约束将使纵向和横向的约束保持相似。

1.) 设置纵向的前导和顶部约束,您可以使用width- Compact 、 height-Regular

2.) 在横向中设置前导和顶部约束,您可以使用width- Any,height-Compact

访问下面的链接,它有很好的解释,您与使用尺寸类别的自动布局相关的大多数问题都将得到解决:

http://mathewsanders.com/designing-adaptive-layouts-for-iphone-6-plus/

希望这能解决您的问题。