1

昨晚我在 Interface Builder 中处理大小类。我创建了一个新的 xib 文件并添加了两个标题为“iPhone”和“iPad”的按钮。目的是“iPhone”按钮应在所有 iPhone 设备上可见,而“iPad”按钮应在所有 iPad 设备上可见。

一切都很好,它在所有设备上都显示了预期的结果。

但问题出在 iPad 2 (iOS 7.0.4) 上显示标题为“iPhone”的按钮。 我已经在以下显示正确结果的设备上进行了测试。

设备:

1)iPhone 3、4 和 5。

2)iPad 2 (iOS 8.1.1)

为此,我遵循了以下步骤:

1)使用xib创建新的视图控制器文件。(文件->新建->文件->可可触摸类->将“子类:”设置为(例如)UIViewController并选中“也创建XIB文件”。)

2) 将 Interface Builder 窗格更改为“wConpact hRegular”。

3) 添加了标题为“iPhone”和约束的按钮,因为它应该看起来水平居中并从顶部 150 像素开始。

4) 将 Interface Builder 窗格更改为“wRegular hRegular”。

5) 添加了标题为“iPad”和约束的按钮,因为它应该从顶部 150 像素水平居中看。

我在用:

代码:6.1

基于 SDK:8.1

部署目标:6.1

设备:通用

使用自动布局:选中

使用尺寸等级:选中

结果截图:

1) iPhone 5s

第二) iPad 2 (iOS 8.1.1)

第三) iPad 2 (iOS 7.0.4)

iPhone 5S

iPad 2 (iOS 8.1.1)

iPad 2 (iOS 7.0.4)

重要的是如果我使用 Storyboard 进行设计是没有问题的。 我不明白为什么会这样?是否有我遗漏的任何财产或其 iOS 错误。

请建议。提前致谢。

4

2 回答 2

0

由于 iOS 6 和 7 不支持 Adaptive Layout 的 Size Classes,它将使用默认的 'Any/Any' size classes。

在您的情况下,情节提要认为默认尺寸类有一个带有“iPhone”的按钮,因此带有 iOS 7 的 iPad 将显示 iPhone 版本。

于 2014-11-25T10:35:33.947 回答
0

根据这里的“Dave DeLong” ,我将遵循这个

在将应用程序部署到 iOS 7 时,Xcode 以两种方式编译 storyboard:

1) 对于 iPhone,情节提要被编译为“紧凑宽度,常规高度”

2) 对于 iPad,故事板被编译为“wRegular-hRegular”

于 2014-11-25T11:18:08.220 回答