Objective c UIImageView、xibs和后缀(@2x、~iphone、~ipad)

Objective c UIImageView、xibs和后缀(@2x、~iphone、~ipad),objective-c,ios,Objective C,Ios,可能重复: 我很难找到关于如何正确使用基于设备类的图像的最新结论性信息(苹果的文档就像迷宫一样扭曲的走廊)。我的感觉是,这是随着时间的推移而发展的。假设我想支持具有不同图像的非视网膜和视网膜iPhone和iPad 以下是我能想到的所有文件名排列: image.png image@2x.png image~iphone.png image~ipad.png image@2x~iphone.png image@2x~ipad.png 我可以这样做: myview.xib myview~ipad

可能重复:

我很难找到关于如何正确使用基于设备类的图像的最新结论性信息(苹果的文档就像迷宫一样扭曲的走廊)。我的感觉是,这是随着时间的推移而发展的。假设我想支持具有不同图像的非视网膜和视网膜iPhone和iPad

以下是我能想到的所有文件名排列:

image.png
image@2x.png

image~iphone.png
image~ipad.png
image@2x~iphone.png
image@2x~ipad.png
我可以这样做:

myview.xib
myview~ipad.xib
假设我有四台设备,iPhone3GS、iPhone4、iPad2、iPad3(或者纯粹主义者的“新iPad”)

让我们谈谈如何设置我的XIB(即添加UIImageView,为图像选择什么?)以使用适当的图像,以及如果使用代码,
[UIImageName:@“image”]
将如何运行

我的理解是,在代码中,我可以求助于
UI\u USER\u INTERFACE\u IDIOM()
,但我并不认为我需要这样做


如果有人能解释什么会起作用,什么不会起作用,我知道这对我有帮助,我也怀疑对其他人有帮助。如果我以某种方式复制了另一个我找不到的问题,那么,我们可以关闭它并链接到它。谢谢

在iphone xib中,您必须使用image~iphone。在ipad xib上,您必须使用image~ipad@当需要文件时,自动选择2x。

@Паааааааааааааа!我知道我仍然在获取正确的图像以加载手头的此信息时遇到一些问题。啊,值得注意的是,如果您覆盖了同名文件,则清除到您的构建中非常重要。=)好的,酷。因此imageNamed将尊重所有后缀,而xib部分正如您所提到的那样工作。谢谢