在 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 应用程序崩溃