【问题标题】:UIImageViews don't load in UIScrollView using imageNamed methodUIImageViews 不使用 imageNamed 方法加载到 UIScrollView
【发布时间】:2012-06-23 05:46:28
【问题描述】:

谁能告诉我这两种加载UIImageView的方法的区别?

iconView.image = [UIImage imageNamed:anIconFileName];

iconView.image = [UIImage imageWithContentsOfFile:anIconFileName];

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

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

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

【问题讨论】:

    标签: iphone ios5 uiscrollview uiimageview


    【解决方案1】:

    第一件事 - 你有没有检查图像的名称,因为模拟器也会加载不区分大小写的图像,而设备不会加载它。

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 谢谢!我删除了文件并重新添加了它们(我通常使用“为任何添加的文件夹创建组”)并且它与 imageNamed 一起使用。让我感到震惊,这有什么不同,为什么它以前在我的 Air 上有效,但在我的 iMac 上无效 - 但感谢您的建议。根据上一篇文章中引用的文章,我将介绍并可能坚持使用 imageWithContents。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多