UIImage 的 -imageNamed: 方法是不是适用于存储在“文档”中的图像文件?

Posted

技术标签:

【中文标题】UIImage 的 -imageNamed: 方法是不是适用于存储在“文档”中的图像文件?【英文标题】:Does UIImage's -imageNamed: method work for image files stored in 'Documents'?UIImage 的 -imageNamed: 方法是否适用于存储在“文档”中的图像文件? 【发布时间】:2009-08-26 04:17:08 【问题描述】:

我的应用程序从远程服务器下载了一个小图像文件,我试图将它与应用程序中预安装的一些其他小图像文件一起显示。我正在使用 [UIImage imageNamed:@"TheImageName.png"] 来获取图像(有关更多详细信息,请参见下文)。预安装的图像按预期显示,但在我的应用程序“文档”目录中找不到图像。我应该对“文档”中的图像使用 -imageNamed 还是其他方法?

UIImage* documentsImage = [UIImage imageNamed:@"TheImageName.png"];
UIImageView* anImageView = [[UIimageView alloc] initWithImage:documentsImage];
[self.view addSubview:anImageView];

【问题讨论】:

【参考方案1】:

啊,没关系。我发现使用 [UIImage imageWithContentsOfFile:filePath] 可以解决这个问题。 imageNamed 只返回 nil。

【讨论】:

是的,请注意 imageNamed: 不仅会加载图像,还会将其缓存在内存中。虽然 imageWithContentsOfFile: 没有。【参考方案2】:

不,+imageNamed: 仅从应用程序包加载图像。

另外,在使用该类方法时不要包含 .png 扩展。

【讨论】:

更具体地说,“在 ios 4 及更高版本上,如果文件为 PNG 格式,则无需指定 .PNG 文件扩展名。在 iOS 4 之前,您必须指定文件扩展名。 " --developer.apple.com/library/ios/documentation/UIKit/Reference/…:

以上是关于UIImage 的 -imageNamed: 方法是不是适用于存储在“文档”中的图像文件?的主要内容,如果未能解决你的问题,请参考以下文章

重构 ViewController 代码以将返回 UIImage 的方法移动到相关子类中

在 Core Data 中保存 UIImage 的最佳方法

在 UIImage 周围放置圆形框架的最简单方法

SceneKit,动态加载和替换纹理的最有效方法是啥? UIImage,MTLTexture,MDLTexture,URL?

iOS 绘图 (UIImage的一些操作)

计算 UIImage 的“亮度”的好方法?