【问题标题】:How do I provide iPad and iPhone 5 versions if I use .xib files?如果我使用 .xib 文件,如何提供 iPad 和 iPhone 5 版本?
【发布时间】:2013-01-15 17:53:15
【问题描述】:

我有一个非常简单的应用程序,每次触摸屏幕时都会显示一段文字。我在文字后面有一个图形,它的基础知识。

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

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

我不能简单地扩展现有的 .xib 布局,因为它只接受并呈现我所做的最后一个布局。 (如果我拉伸到 iPhone 5 的分辨率,它会在 iPhone 4S 上消失)。

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

谢谢。

【问题讨论】:

标签: iphone ios ipad ipad-2


【解决方案1】:

根据文档,您可以使用:

  1. myNibName~ipad.xib 和

  2. 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 Retina?

这里没什么特别的,因为这两个设备共享相同的 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 中的指标窗格并为视图高度设置垂直弹簧(这是下图中的内部垂直双箭头)。

你将不得不找到自己的方式来解决这个问题,特别是如果你有很多子视图。

【讨论】:

  • 是的,我刚刚发现了这一点。我很抱歉发布得太快。我想我的后续问题是你如何区分 iPhone 3.5" vs iPhone 4.0" 和 iPad vs iPad Retina?
  • 明白了。我想我的问题归结为你如何将你的笔尖定义为“伸展”?我有一个简单的文本字段,是否有 100% 高度选项与以像素为单位进行定义相反?
猜你喜欢
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
相关资源
最近更新 更多