【问题标题】:Migrate issues to iphone 5 resolution将问题迁移到 iphone 5 分辨率
【发布时间】:2012-10-20 19:24:01
【问题描述】:

我正在使用 XCode 4.5.1 和 iOS 模拟器(视网膜 4 英寸)

我有一年前做的项目。所以现在我想将我的项目迁移到新的分辨率。

接下来是我的问题:

我将代码集成到我的项目中以检测我的分辨率。

CGRect screenBounds = [[UIScreen mainScreen] bounds];

但是在我将 screenBounds 的值输出到 NSLog 后,我得到了宽度 = 320 和高度 = 480,但我预计会看到 1136 × 640。

你有同样的问题吗?

【问题讨论】:

    标签: ios ios6 iphone-5


    【解决方案1】:

    您确定您使用的是 4 英寸模拟器吗? [[UIScreen mainScreen] bounds] 将返回以点为单位的屏幕边界,而不是像素。所以在 4 英寸 iPhone 中,CGRectreturned 应该是 320x568

    所以如果你打电话给[[UIScreen mainScreen] bounds]:

    • iPhone 4 和 iPhone 4S:320x480
    • iPhone 5:320x568

    注意:如果您没有添加 Default-568h@2x.png 文件,并且应用程序运行 letterboxed,您使用的方法将返回 iPhone 4 和 4S 值。

    提示:要确定您使用的是 iPhone 5 还是其他设备,此代码可能会派上用场:

    #define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
    
    if( IS_IPHONE_5 )
    {
        // iPhone 5
    }
    else
    {
       // Other
    }
    

    【讨论】:

    • 我可以在模拟器上测试吗?我已经将模拟器设置为 4 英寸,但我仍然无法从代码中检查我正在使用的设备。
    【解决方案2】:

    要使您的应用适应新的更高屏幕,您要做的第一件事是将启动图像更改为:Default-568h@2x.png。其尺寸应为 1136x640 (HxW)。是的,在新的屏幕尺寸中使用默认图像是让您的应用占据整个新 iPhone 5 屏幕的关键。

    此外,您还必须采取更多步骤:

    确保您的 Xibs/Views 使用自动布局来调整自己的大小。使用弹簧和支柱来调整视图大小。如果这对您的应用来说还不够好,请针对一种特定的屏幕尺寸设计您的 xib/storyboard,并以编程方式为另一种屏幕尺寸重新定位。

    【讨论】:

      猜你喜欢
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多