我有一个非常简单的应用程序,每次触摸屏幕时都会显示一个文本块。我在文本背后有一个图形,它是它的基础。
我在2010年使用.xib文件创建了文本字段和图像。
我现在正试图让它适合iPhone 5以及iPad和iPad Retina。
我不能简单地延长现有的.xib布局,因为它只接受并渲染我做的最后一个。 (如果我延伸到iPhone 5分辨率,它会在iPhone 4S的屏幕上显示。)
是否有基于iOS设备引用不同的.xib文件?
谢谢。
答案 0 :(得分:4)
根据文档,您可以使用:
myNibName~ipo.xib和
myNibName〜iphone.xib
将根据设备加载正确的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中的指标窗格,并为视图高度设置垂直弹簧(这是下图中的内部垂直双箭头)。
你必须找到自己的方法,特别是如果你有很多子视图。