【问题标题】:Load two different screens for iphone 4s and iphone 5为 iphone 4s 和 iphone 5 加载两个不同的屏幕
【发布时间】:2013-05-02 10:28:17
【问题描述】:

我正在开发一个适用于 iphone 4s 和 iphone 5 的应用程序,这里的主题是为 iphone 4s 和 iphone 5 设计屏幕,在我的 previos 应用程序中,我使用 @987654321 为这两种设备使用了两个不同的故事板@iOSDeviceScreenSize.height。但是在我的新应用程序中,我想通过不使用情节提要的 xibs 来完成,所以我想解决我如何开发一个与所有设备屏幕兼容的应用程序,请把宝贵的时间花在这个问题上以更新我的知识,提前非常感谢你..

【问题讨论】:

    标签: iphone ios storyboard iphone-5


    【解决方案1】:

    你有很多方法

    1) 使用自动布局以兼容 iphone 4s 和 iphone 5。

    http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

    2)根据设备获取screensize和setFrame

        #define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f
    
    if( IS_HEIGHT_GTE_568)
    {
    // code for iPhone 5
    }else
    {
    // code for iPhone 4s
    }
    

    3) 根据设备获取屏幕尺寸并加载 Nib

    #define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f
    
    if( IS_HEIGHT_GTE_568) 
    { // Nib for iPhone5
    
    }else 
    { 
    // Nib for iPhone 4s 
    }
    

    【讨论】:

    • 嗨 sumit,感谢您的回答,我需要在哪里编写此代码?我是否需要在每次执行操作时都编写此代码,这将获得另一个屏幕?希望您能理解我的问题?
    • #define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f 将此代码放入您的 .Pch 文件中,然后在需要时检查您的 if 条件,该设备是 iPhone 4 或iPhone 5
    • 如果您为 iPhone4 和 iPhone 5 加载不同的 xib,则使用 homePageVC = [[HomePageViewController alloc]initWithNibName:IS_HEIGHT_GTE_568 ? @"HomePageViewController_iPhon5":@"HomePageViewController_iPhone4" bundle:[NSBundle mainBundle]];
    • 再次感谢您,我们不能使用自动布局吗?使用自动布局有什么缺点吗?
    • 如果您只开发应用程序 ios6 则使用自动布局 bCoz 自动布局在 ios6 中可用,否则您使用调整大小和 setframe 或通过代码加载xib
    【解决方案2】:

    有两种方法可以使用 1-根据屏幕大小创建两个xib并加载所需。

    2-使用自动布局功能。

    您可以按照这些教程进行操作。

    How to develop or migrate apps for iPhone 5 screen resolution?

    【讨论】:

      【解决方案3】:

      除了与UIScreen 的代码差异之外,您还可以从hub 添加文件并加载retina4 图像和其他包的笔尖,名称为@2x~568h,而无需编辑您的代码为它:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多