昨晚我在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创建新的视图控制器文件。(文件 - >新 - >文件 - > Cocoa触摸类 - >设置"子类:" as(例如)UIViewController并检查"还要创建XIB文件"。)
2)将Interface Builder窗格更改为" wConpact hRegular"。
3)添加标题为#34; iPhone"和约束,因为它应该看起来水平居中并从顶部150px。
4)将Interface Builder窗格更改为" wRegular hRegular"。
5)添加标题为#34; iPad"和约束,因为它应该看起来水平居中并从顶部150px。
我正在使用:
Xcode:6.1
基于SDK:8.1
部署目标:6.1
设备:通用
使用自动布局:已选中
使用尺寸类:已选中
结果截图:
1st)iPhone 5s
2nd)iPad 2(iOS 8.1.1)
3rd)iPad 2(iOS 7.0.4)
重要的是如果我使用Storyboard进行设计是没有问题的。 我不明白为什么会这样?是否有我遗失的财产或其iOS错误。
请建议。 提前谢谢。
答案 0 :(得分:0)
由于iOS 6和7不支持自适应布局的大小类,因此它将使用默认的'任意/任何'大小等级。
在您的情况下,故事板认为默认大小类有一个按钮,其中包含" iPhone"因此,使用iOS 7的iPad将显示iPhone版本。
答案 1 :(得分:0)
根据Dave DeLong' here,我将遵循此
在将应用程序部署到iOS 7时,Xcode以两种方式编译故事板:
1)对于iPhone,故事板被编译为"紧凑宽度,常规高度"
2)对于iPad,故事板被编译为" wRegular-hRegular"