在 XCAssets iOS App 中获取图像文件的路径

Posted

技术标签:

【中文标题】在 XCAssets iOS App 中获取图像文件的路径【英文标题】:Obtain path to image file in XCAssets iOS App 【发布时间】:2019-11-04 02:59:53 【问题描述】:

我有 2 张图片存储在 ios 项目的 Media.XCAssets 中。但是,我不知道如何使用 Objective-C 代码获取存储在 Media.XCAssets 中的图像的路径。

请指导

【问题讨论】:

【参考方案1】:

你不能。

xcassets 中的图像不会作为单独的图像存储在设备上,而是出于性能原因将它们组合成一个巨大的精灵表。

如果您希望能够在应用中获取图像的路径,请将其添加到 xcassets 之外的项目中,就像添加任何其他 Swift 文件或资源一样,然后使用 Bundle.main.pathForResource("YourImage", ofType: "png")

【讨论】:

【参考方案2】:

我在项目之外创建了一个包。创建了一个文件夹。将图像拖到该文件夹​​中,然后将该文件夹重命名为扩展名为 *.bundle。然后我将它拖放到 XCode 项目中。

现在我可以使用下面的 OBjective-C 代码访问图像

NSString *pathtobundle = [[NSBundle mainBundle] pathForResource:@"<bundlename>" ofType:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithPath:pathtobundle];
NSString *pathToImage = [bundle pathForResource:@"<imageName>" ofType:@"<ImageType>"];  

【讨论】:

以上是关于在 XCAssets iOS App 中获取图像文件的路径的主要内容,如果未能解决你的问题,请参考以下文章

从 Assets.xcassets 加载图像时 iOS 应用程序崩溃

在 iOS 中以编程方式将图像集添加到 images.xcassets 目录?

解压Assets.car获取App中的图片资源

iOS应用中的APP图标|艺术品图片

如何本地化 Images.xcassets 中的图像?

使用“Assets.xcassets”中的图像文件以编程方式更改 iOS 应用程序图标