Any-Any大小类被ios7忽略

我正在为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

根据您的问题,您所做的是在Any-Any Size Class中给出了前导,顶部,高度和宽度约束。

所以现在它的位置将固定在横向和纵向的任何设备上。 现在,当您将尺寸类更改为紧凑宽度并在顶部约束中进行更改时,它将同时影响纵向和横向。

使用Any-Any的大小类,您需要做什么才能将控件放在View控制器中,并设置您希望在纵向和横向中保留的约束。

例如:如果要保持高度和宽度固定,请在Any-Any Size Class中给出这些约束。

在Any-Any Size Class中设置约束将使这些约束对于纵向和横向都保持相似。

1.)设置纵向的前导和顶部约束,您可以使用宽度 – 紧凑,高度 – 常规

2.)在横向中设置前导和顶部约束,您可以使用宽度 – 任意,高度 – 紧凑

访问下面的链接有很好的解释,您将解决与使用大小类自动布局相关的大多数问题:

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

希望这能解决你的问题。