【问题标题】:The same storyboard looks different on iPhone 4S and on iPhone 5相同的故事板在 iPhone 4S 和 iPhone 5 上看起来不同
【发布时间】:2026-02-04 06:40:01
【问题描述】:

我正在使用 XCode 4.5.2 和最新的 SDK 开发 iPhone 应用程序。

在项目设置中,我将 5.0 设置为部署目标。

我是 iPhone 5 开发的新手,我不知道如何为 iPhone 4S 和 iPhone 5 使用相同的故事板。

使用带有 Retina 4 外形的故事板当我在带硬件的模拟器 -> 设备 -> iPhone(Retina 3.5 英寸)设置上运行我的应用程序时,我得到了这个:

这就是我得到的(我已取消选中使用自动布局)。

如何让它在 iPhone 4S 上看起来不错?

【问题讨论】:

    标签: ios retina-display xcode-storyboard


    【解决方案1】:

    如果您使用 iOS 6,则可以使用 AutoLayout

    要在 iOS 5 中支持 Retina 屏幕和普通屏幕,您需要为一种屏幕尺寸设计视图,然后在您的代码中以编程方式检查其屏幕尺寸是否正确

    CGRect screenBound = [[UIScreen mainScreen] bounds];
    CGSize screenSize = screenBound.size;  
    CGFloat screenWidth = screenSize.width;
    CGFloat screenHeight = screenSize.height;
    

    当屏幕尺寸不正确时,您需要通过代码重新排列 UI 元素。 这很糟糕,但没有其他方法可以使用 1 个故事板文件来做到这一点。

    另一种可能性是为其他屏幕尺寸创建第二个故事板文件,并在应用程序委托中检查屏幕尺寸以确定您要使用的故事板文件。 (这也可以用一个 iOS 5 的故事板文件和一个 iOS 6 的故事板文件来完成,这样您就可以在 iOS 6 故事板中启用 AutoLayout 以支持所有屏幕尺寸)

    【讨论】:

    最近更新 更多