【问题标题】:Size Classes in iOS 7iOS 7 中的大小类
【发布时间】:2014-12-29 16:47:18
【问题描述】:

我在 Xcode 6 中使用 Size Classes 创建了一个新应用程序。在使用 iOS 7 进行测试后,我无法弄清楚如何让 iPhone 在横向模式下显示特定的尺寸等级。

我首先将 iPhone 横向 UI 开发为 wAny hCompact,但 iOS 7 无法识别。我在 wAny hAny 中有 iPhone 肖像。

然后我对其进行了更改,因此现在我将 wCompact hRegular 用于 iPhone 肖像。然后我将 wAny hAny 修改为横向布局。但当 iOS 7 设备处于横向时,它不会使用该布局。

iOS 7 是否能够根据设备是纵向还是横向使用不同的尺寸等级?如果是这样,我应该使用哪种尺寸等级?

参考:Really helpful information about backwards compatibility with size classes.

ps。我不关心 iPad,因为设备不会根据 iOS 8 中的设备旋转显示不同的尺寸类别。

【问题讨论】:

    标签: iphone xcode size-classes


    【解决方案1】:

    Size 类肯定适用于 iOS 7。但前提是你遵循几条规则:

    • 该应用是使用 Xcode 版本 6 或更高版本构建的
    • 应用的部署目标早于iOS 8
    • 大小类在情节提要或 xib 文件中指定
    • 高度组件的值不紧凑(是的,这是你的情况,不幸的是,在 iOS 7 中这是不可能的

    这里有一点解释:https://stackoverflow.com/a/24976792/2190175

    【讨论】:

    • 项目符号 3 不正确 -- 支持 xibs:developer.apple.com/library/ios/recipes/…
    • @Austen 编辑了它。现在第 3 点是正确的:“大小类在情节提要或 xib 文件中指定”
    • 感谢指正。从 XCode 6.1.1 开始,iOS 7.0 的 xib 也确实支持大小类。但向后兼容性的限制仍然适用。
    【解决方案2】:

    不,我担心 iOS 8 中引入了 Size Classes。您可以编写一些条件代码在 iOS 上运行以确定屏幕/视图大小/方向,并在 iOS 8 成为您的最低目标时更改布局条件码可以去掉。

    【讨论】:

    • 我想我没有说出来,但我指的是大小类的向后兼容性。对于我的项目,我最终将 iOS 8 设为最低支持版本。作为旁注,我发现这个 link 刚才在谈论我认为是我上面的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2023-04-10
    • 2015-03-03
    • 2015-03-05
    相关资源
    最近更新 更多