2014-11-25 62 views
1

昨晚我在Interface Builder中使用了大小类。我创建了一个新的xib文件,并添加了两个标题为“iPhone”和“iPad”的按钮。其目的是在所有iPhone设备上可见的“iPhone”按钮和所有iPad设备上的“iPad”按钮。Xcode 6.1 Interface Builder根据设备类型未显示元素

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

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

器件:

1)iPhone 3,4和5

2)的iPad 2(的iOS 8.1.1)

对于我按照下列步骤:

1)用xib创建新的视图控制器文件(文件 - >新建 - >文件 - > Cocoa Touch类 - >设置“子类:”为UIViewController并检查“同时创建XIB文件”。)

2)将界面生成器窗格更改为“wConpact hRegular”。

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

4)将界面生成器窗格更改为“wRegular hRegular”。

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

我使用:

的Xcode 6.1

基于SDK:8.1

部署目标:6.1

设备:通用

使用自动布局:经过

使用尺寸等级:经过

结果截图:

1)iPhone 5S

2日)的iPad 2(iOS版8.1.1)

3rd)iPad 2(iOS 7.0。4)

iPhone 5s

iPad 2 (iOS 8.1.1)

iPad 2 (iOS 7.0.4)

重要的是有没有问题,如果我用故事板设计。 我不明白为什么会发生这种情况?有什么财产,我失踪或其iOS错误。

请建议。 在此先感谢。

+1

见[此](http://stackoverflow.com/questions/24172860/how-can-xcode- 6-adaptive-uis-be-backwards-with-ios-7-and-ios-6) – Raptor 2014-11-25 10:33:43

+0

@Raptor ......感谢您分享这个重要的链接。这会帮助我很多。 – Avin 2014-11-25 11:20:22

回答

0

由于iOS 6和7不支持自适应布局的大小类别,因此它将使用默认的“Any/Any”大小类别。

就你的情况而言,storyboard认为默认大小类上有一个带有“iPhone”的按钮,因此带有iOS 7的iPad将显示iPhone版本。

+0

@Raptor ...感谢您的快速回复。但问题是它在故事板中运行良好,而不是在xib中。 – Avin 2014-11-25 10:48:15

+0

需要澄清:您的故事板中有什么? – Raptor 2014-11-25 11:06:58

+0

与我的xib包含的内容相同,只有视图控制器的名称不同。 – Avin 2014-11-25 11:28:13

0

按照“戴夫德隆” here,我将遵循这一

部署在应用到iOS 7时,Xcode编译故事板有两种方式:

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

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

相关问题