如何为4"屏幕指定图像资源?

4 xcode ios5 ios6 iphone-5

在Xcode中,我喜欢这样:

截图

MyViewController.m我正在加载图像,很好地它需要时加载@ 2x(在视网膜上)

tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"emptyList.png"]];
Run Code Online (Sandbox Code Playgroud)

我想添加另一个只能在iPhone 5的4"屏幕上加载的文件.这可能吗?我该怎么办?

Dan*_*iel 8

问题不是很清楚,但我假设你问的是:iPhone 5特定图像的命名约定是什么?

我们已经知道我们可以使用以下方法定位iPad/iPhone以及这些设备的视网膜/标准显示器:

.png
@2x.png
~iphone.png
~ipad.png
Run Code Online (Sandbox Code Playgroud)

等等

关于iPhone 5特定图像的问题已在Apple开发者论坛上详细讨论过,很明显没有办法做到这一点.

值得注意的是,一个线索是,触发4个兼容应用程序的Default.png文件必须被命名Default-568h@2x.png,这触发了许多开发人员认为添加后缀"-568h@2x.png"是可行的方法.但事实并非如此.可以找到这个讨论在这里的苹果开发者论坛.

通常人们会将此视为一种解决方案,希望能够适应更大的屏幕和更大的图像.但是,您应该实现iOS 6的AutoLayout功能.请记住iPhone 5的操作系统是在最低iOS 6,你也可以用弹簧和支柱实现你的布局.

这应该足以扩展到更大的屏幕.如果您希望为更大的屏幕设置不同的布局,则可以检测屏幕大小并进行相应调整.您还可以在Xcode中指定一个不同的nib文件,以便在4"屏幕上使用.希望这会有所帮助.

来自Apple Developer Forums的关于此主题的更多信息.

  • +1很好的答案,但我需要将现有项目(ios5和iphone3,iphone4)的支持添加到ios6,iphone5并保留其他项目.我不确定我是否可以使用AutoLayout,因为我不能放弃ios5支持.使用相同的xib文件,将导致一个混乱的代码,我正在检查我是在4"设备或只是一个较小的,新的xib文件似乎是最好的选择.谢谢 (2认同)