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 的方法移动到相关子类中
SceneKit,动态加载和替换纹理的最有效方法是啥? UIImage,MTLTexture,MDLTexture,URL?