2012-09-07 31 views
0

我只花了一天的时间试图找出为什么一些简单的代码没有从资源文件夹加载图像。只是为了踢球,我进入了查找器,并将其中一个文件重命名为完全相同的名称并加载。然后我做了其他 - 只是将它们重命名为相同的名称。我看了一下,在文件名之前或之后没有任何奇怪的字符或空格。所以现在它们都可以很好的加载到模拟器的数组中。但现在在我的设备上,它们没有加载到数组中,返回“nil”并抛出异常。我知道ios设备是区分大小写的,但是我没有看到,但是我检查了这一点,并且命名一切正常。我唯一能想到的就是我的图像是以视网膜命名的(@ 2x〜iphone),而我的设备不是。但是我的图片命名方式与视网膜相同,而且这些图片加载正常。文件名和Xcode模拟与iOS设备的奇怪问题

我正在使用imageWithContentsOfFile加载图像,并在尝试加载图像后也收到内存警告。我不确定内存警告是否相关。

回答

0

我认为问题可能出在您的文件命名上。请记住,您应该在视频中添加视网膜和非视网膜图片。看到你加入“〜iphone”我假设这是一个普遍的应用程序,以便您的图像应命名如下:

  1. MYIMAGE〜iphone.png
  2. [email protected]~iphone.png
  3. MYIMAGE〜ipad.png
  4. [email protected]~ipad.png

然后在你的代码只引用文件名的“MYIMAGE”部分,使得iOS的可以休息了为您挑选。

例如:

UIImage *image = [UIImage imageNamed:@"myImage"];