【发布时间】:2015-01-10 21:23:27
【问题描述】:
我在 Xcode 6.1 上开始了一个新的单视图项目
转到我的目标并将 Device Family 设置为 Universal 并将 Deployment target 设置为 7.1
在故事板中,我在 Size 类中放置了一个红色标签 Regular Width | Any Height
和大小类中的蓝色标签Compact Width | Any Height
根据文档,在 ipad 上运行时我应该看到红色标签,在 iphone 上运行时应该看到蓝色标签, 到目前为止,这在模拟器和实际设备上都按预期工作。
现在我回到目标并将Device Family设置为iPad,再次运行应用程序:
-
模拟器上的 iPad 2 (7.1) - 红色标签
-
iPad 2 (7.1)(真实设备) - 蓝色标签 ?!?!?
-
iPad 2 (8.1)(真实设备)-红色标签
iPad Air/iPad mini 和我遇到的所有其他装有 IOS 7.1 的 iPad 也是如此
基本上我在通用故事板上看到,在 ios 7.1 中为 iPad 设置设备系列时,故事板被认为是紧凑尺寸。 我必须与 IOS 7.1 兼容,并且我的应用程序将首先仅针对 iPad 发布。 有没有人知道如何解决它?
编辑
根据Apple Documentation: 对于支持 iOS 8 之前的 iOS 版本的应用程序,大多数大小类都是向后兼容的。 只要大小类向后兼容
-
该应用是使用 Xcode 6 或更高版本构建的
-
应用的部署目标早于iOS 8
-
大小类在故事板或 xib 中指定
-
高度分量的值不紧凑
以上所有内容都适用于我的示例。
【问题讨论】:
-
您是否在重新运行之前从真机中删除了应用程序?有时情节提要文件没有被正确覆盖...
-
是的,从设备中删除并进行了干净的构建
-
如果您在 iOS 7.1 上使用 Universal Device Family 运行项目,然后切换到 iPad Device Family,它总是正确的,但这并不能解决问题。
-
是否可以使用通用情节提要并在项目部署设置中将目标设置为仅限 iPad?这样你就可以暂时避开这个可能的错误,而不必完全支持 iPhone。
-
我相信这正是我正在做的,我有一个通用的故事板,我将设备目标系列(在覆盖项目部署设置的目标部署设置中)设置为 iPad。当目标设备系列是目标“常规”选项卡或“构建设置”选项卡中的 iPad 时,会出现此问题
标签: ios objective-c storyboard ios-universal-app size-classes