UIImageViews不使用imageNamed方法加载到UIScrollView中

时间:2012-06-23 05:46:29

标签: iphone ios5 uiscrollview uiimageview

有人可以告诉我这两种加载UIImageView的方法之间的区别吗?

iconView.image = [UIImage imageNamed:anIconFileName];

iconView.image = [UIImage imageWithContentsOfFile:anIconFileName];

我遇到了一种情况,当使用imageNamed方法时,我有非确定性行为,将UIImageViews加载为UIScrollView上的子视图。 UIImages将加载到模拟器中,但不会加载到使用may iMac的设备上。但是当我搬到我的Mac Air时,一切都在模拟器和设备中按预期工作了吗?通过进一步的调查,我发现它在工作时是不确定的。我试图加载5个UIImageViews,有时我会得到1个或两个。任何加载都似乎取决于我试图加载的* .png文件的大小。

当我使用imageWithContentsOfFile方法进行更改时,一切都按预期工作......可靠。

UIImages似乎并不大 - 每个大约100K。任何想法都会有所帮助。

2 个答案:

答案 0 :(得分:0)

首先 - 你检查了图像的名称,因为模拟器加载不区分大小写的图像,而设备不会加载它。

imageNamed - 此方法采用文件名。 imageWithContentsOfFile - 此方法采用该文件名的完整文件路径。

所以上面提到的代码是虚拟代码或实际代码,如果这是实际代码,那么你需要确保使用imageNamed,你必须传递文件名,并使用imageWithContentsOfFile你必须传递文件路径。

查看这篇文章,了解这两种方法之间的区别 - http://www.jorambarrez.be/blog/2012/04/19/ios-imagenamed-vs-imagewithcontentsoffile/

答案 1 :(得分:0)

这与UIScrollView无关,只需检查将图像导入Xcode的方式。您应该添加选择选项的文件:

  

为任何添加的文件夹创建组。

这样文件夹将显示为黄色(而不是蓝色),imageNamed将正常工作。