Ios4 在iOS设备上运行应用程序时,图像不会显示
我在我的应用程序中有标题为“如此”的图像: image~iPhone.png image@2x~iPhone.png 在interface builder中,我正在将image.png加载到我的Ios4 在iOS设备上运行应用程序时,图像不会显示,ios4,uiimageview,retina-display,Ios4,Uiimageview,Retina Display,我在我的应用程序中有标题为“如此”的图像: image~iPhone.png image@2x~iPhone.png 在interface builder中,我正在将image.png加载到我的UIImageView中。我还使用imageWithContentsOfFile以编程方式将一些图像加载到不同的视图中。当我在模拟器中运行时,图像都可以正常加载,但当我在设备上运行时,没有图像。如果我在interface builder中使用图像的全名,它可以工作,但我希望iOS能够区分高分辨率和低分辨率
UIImageView
中。我还使用imageWithContentsOfFile以编程方式将一些图像加载到不同的视图中。当我在模拟器中运行时,图像都可以正常加载,但当我在设备上运行时,没有图像。如果我在interface builder中使用图像的全名,它可以工作,但我希望iOS能够区分高分辨率和低分辨率。我尝试了很多不同的方法,但无法解决这个问题。我在调试器中也看到此错误:
无法加载从捆绑包中标识符为“com.mycompany.myproject”的nib引用的“image.png”图像
Xcode 4
部署目标4.1
基本SDK 4.3
感谢您的帮助。iOS不会自动为这样的设备选择正确的图像。您必须编写代码来检查它是哪个设备,并按全名设置图像 e、 g.
if([[UIScreen mainScreen]scale]==2)//设置高分辨率图像
或者,您可以在两者中使用相同的图像,并将内容模式设置为“按比例填充”。看起来是一样的
编辑:尝试写
~iphone
(小写),或者干脆不在文件名上写~iphone
。如果你的应用程序不是通用的,那么编写~iphone
后缀完全是毫无意义的。好吧……经过大量的实验,我让它工作了
我有两张照片,名字是:
- image.png
这就是我的工作。希望它能帮助别人。请注意,我只为iOS4.1及以上版本构建应用程序,因此如果您支持以前的版本,则可能会出现一些问题。iOS文件系统区分大小写,设备修饰符应为小写,而不是小写
image~iphone.png
image@2x~iphone.png
@2x位于设备修改器之前
请参阅谢谢您的回答,但这似乎与《资源编程指南》中的内容相矛盾:“当底层设备具有高分辨率屏幕时,捆绑包和图像加载例程会自动查找带有@2x字符串的图像文件。”以及“系统自动确定图像的哪个版本最合适并加载它。同样,在使用或绘制该图像时,您不必知道它是原始分辨率还是高分辨率版本。图像绘制例程会根据加载的图像自动进行调整。“我找到了它不起作用的原因。请参阅我更新的答案。我知道这与文档所说的相矛盾,但根据我的经验,手动检查或始终使用高分辨率图像并让系统将其缩小更安全。