1

使用时排除文件扩展名是否有任何负面影响,[UIImage imageWithContentsOfFile:]或者最好在路径中包含文件类型?

Apple Docs 状态initWithContentsOfFile:需要以下路径作为其参数:

文件的路径。此路径应包含标识图像数据类型的文件扩展名。

但是,[UIImage imageWithContentsOfFile:]just 状态的路径:

文件的完整或部分路径。

我只是想知道包含文件扩展名是否仍然是最佳做法,或者甚至不担心它。谢谢!

4

2 回答 2

0

您应该包含所有文件请求的文件扩展名。我能想到的唯一一个你不会使用的例子是

NSBundle pathForResource:ofType:

方法。该方法您在文件名之外指定文件扩展名。我相对确定“部分路径”是指相对路径。您可以仅通过文件名在捆绑包的根目录中请求文件,因为它相对于捆绑包的路径位于根目录中,换句话说就是文件名。

于 2013-06-26T15:35:33.217 回答
0

最好的方法是使用NSBundle pathForResource:ofType:

如果你有这些图像:

  • “我的图像.png”(iPhone)
  • “myImage@2x.png”(iPhone 视网膜)

并且您想将其加载到一个UIImage,您将使用以下代码:

UIImage *myImage;
myImage = [UIImage imageWithContentsOfFile:[NSBundle pathForResource:@"myImage" ofType:@"png"]];

此代码还将在 iPhone Retina 中加载“myImage@2x.png”,而无需将@2x 添加到代码中。

一定要写准确的文件名。“myimage”可能无法在设备上运行,因为原始文件名有一个大写“I”(“myImage.png”)。

于 2013-06-26T15:53:15.530 回答