在iOS中以编程方式加载图像

Mat*_*asC 10 uiimage ios

在我的iPad应用程序中,我试图以编程方式加载图像文件.该文件不是我的项目的一部分,因此它不在XCode中引用.XCode的"组和文件"列中没有该文件的条目.

图像必须在运行时加载,它的名称是从属性列表中读取的.

我正在尝试加载这样的文件:

NSString* pathToImageFile = [[NSBundle mainBundle] pathForResource:@"MyImage" ofType:@"png" inDirectory:@"MyDirectory"];
UIImage* retVal = [UIImage imageWithContentsOfFile:pathToImageFile];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,mydirectory生活在主要包中,如下所示:

MyAmazingApp.app/MyDirectory/MyImage.png
Run Code Online (Sandbox Code Playgroud)

不幸的是,图像无法加载.我无法将图像文件添加到我的项目中,因为它的名称将在运行时确定,并且无法提前知道.在运行时从配置文件(属性列表)中读取文件名.

我究竟做错了什么?非常感谢您的帮助.

Cal*_*leb 4

您可以使用 NSFileManager 获取一个或多个目录的内容。显然,您必须了解要加载的文件的一些信息,以便可以识别它,但是您可以使用 NSFileManager 来帮助您在应用程序包和应用程序的文档目录中生成图像列表。