【问题标题】:Should I have two XIBs to handle iOS5 and iOS6?我应该有两个 XIB 来处理 iOS 和 iOS 6 吗?
【发布时间】:2012-09-25 17:06:48
【问题描述】:

刚刚升级到最新的 Xcode 和 iOS6。当您使用 XIB 创建新的视图控制器时,它默认为 iOS6 屏幕尺寸,但您可以手动更改此设置以查看您的应用在 iOS5 中的外观。

我的问题是,您是否打算拥有两个 XIB,一个专门为 iOS5 设计,另一个在 iOS6 中设计;还是您使用某种自动调整大小的工具来处理所有事情?

谢谢。

【问题讨论】:

    标签: xib ios6


    【解决方案1】:

    Apple Dev Boards 中围绕这个问题进行了很多讨论。我对此的看法:

    如果您可以使用自动调整大小或自动布局,请勿使用多个 XIB。

    我敢打赌,每个人都会使用 99% 的视图,这是完全可以管理的。表视图很简单,如果您的表视图需要一个 XIB,只使用一个。如果您对 3.5" 和 4" 的看法明显不同,请使用两个 XIB。但请尝试通过实施巧妙的layoutSubviews 例程来避免这种情况。


    父视图的简单示例始终将子视图 bottomView 在底部和全宽对齐:

    - (void)layoutSubviews
    {
        CGSize mySize = self.bounds.size;
    
        CGRect bottomFrame = bottomView.frame;
        bottomFrame.origin.y = mySize.height - bottomFrame.size.height;
        bottomFrame.size.width = mySize.width;
        bottomView.frame = bottomFrame;
    }
    

    【讨论】:

    • 唯一的问题是旧版本可能不支持自动布局。但我想它会做。谢谢
    • 是的,这是真的。我在简单的情况下使用自动调整大小,在更复杂的情况下覆盖layoutSubviews,由于向后兼容性,尚未使用自动布局。
    • 关于 layoutSubviews 的示例可能对其他开发人员有用,我在 developer.apple.com/library/ios/#documentation/uikit/reference/… 上找到了一些文档
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2016-09-05
    • 2010-09-30
    相关资源
    最近更新 更多