如果我使用.xib文件,如何提供iPad和iPhone 5版本?

时间:2013-01-31 15:14:25

标签: iphone ios ipad ipad-2

我有一个非常简单的应用程序,每次触摸屏幕时都会显示一个文本块。我在文本背后有一个图形,它是它的基础。

我在2010年使用.xib文件创建了文本字段和图像。

我现在正试图让它适合iPhone 5以及iPad和iPad Retina。

我不能简单地延长现有的.xib布局,因为它只接受并渲染我做的最后一个。 (如果我延伸到iPhone 5分辨率,它会在iPhone 4S的屏幕上显示。)

是否有基于iOS设备引用不同的.xib文件?

谢谢。

1 个答案:

答案 0 :(得分:4)

根据文档,您可以使用:

  1. myNibName~ipo.xib和

  2. myNibName〜iphone.xib

  3. 将根据设备加载正确的xib。

    您可以阅读iOS Supports Device-Specific Resources

    编辑:

      

    你如何区分iPhone 3.5和#34; vs iPhone 4.0"

    iPhone 4"没有特定的设备修改器。你必须以一种可以“伸展”的方式定义你的笔尖。垂直。

    唯一的机制是iPhone 4"具体的Default-586@2x.png文件。如果您提供,则整个屏幕区域将可供您的应用使用。

    如果您不提供,那么应用程序将以特殊模式运行,其内容以3.5"区域。其余区域填充了顶部和底部黑色条带。

      

    iPad vs iPad Retina?

    这里没什么特别的,因为2个设备共享相同的"逻辑"分辨率为768x1024像素。像往常一样,您可以使用@2x修饰符来提供特定的视网膜分辨率图像;并且,如果您需要,可以使用~ipad@2x修饰符来提供仅限视网膜的iPad图像。

    E.g:

    iconImage.png          -> non-retina iPhone version
    iconImage@2x.png       -> retina iPhone version (also retina iPad version if no ~iPad is given)
    iconImage~iPad.png     -> non-retina iPad version
    iconImage~iPad@2x.png  -> retina iPad version
    

    编辑:

    要进行UI拉伸,请转到IB中的指标窗格,并为视图高度设置垂直弹簧(这是下图中的内部垂直双箭头)。

    你必须找到自己的方法,特别是如果你有很多子视图。

    enter image description here