我有一个非常简单的应用程序,每次触摸屏幕时都会显示一段文本。我在文本后面有一个图形,它的基础知识。
我在 2010 年使用 .xib 文件创建了文本字段和图像。
我现在正试图让它既适合 iPhone 5 也适合 iPad 和 iPad Retina。
我不能简单地扩展现有的 .xib 布局,因为它只接受并呈现我所做的最后一个布局。(如果我拉伸到 iPhone 5 的分辨率,它会在 iPhone 4S 上消失)。
是否有基于 iOS 设备引用不同的 .xib 文件?
谢谢你。
根据文档,您可以使用:
myNibName~ipad.xib 和
myNibName~iphone.xib
并且将根据设备加载正确的 xib。
你可以阅读iOS Supports Device-Specific Resources。
编辑:
你如何区分 iPhone 3.5" 和 iPhone 4.0"
没有特定于 iPhone 4" 的设备修饰符。您必须以可以垂直“拉伸”的方式定义您的笔尖。
唯一的机制是一个 iPhone 4" 特定的 Default-586@2x.png 文件。如果您提供它,那么整个屏幕区域将可供您的应用程序使用。
如果您不提供,则应用程序将以特殊模式运行,其内容显示在 3.5" 区域中。剩余区域由顶部和底部的黑色条带填充。
iPad 与 iPad 视网膜?
这里没什么特别的,因为这两个设备共享相同的 768x1024 像素的“逻辑”分辨率。像往常一样,您可以使用@2x
修饰符来提供特定的视网膜分辨率图像;并且,如果您需要它,您可以使用~ipad@2x
修饰符来提供仅适用于 iPad 的视网膜图像。
例如:
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 中的指标窗格并设置视图高度的垂直弹簧(这是下图中的内部垂直双箭头)。
您将不得不找到自己的方式,特别是如果您有很多子视图。