Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 以编程方式访问图像资产_Ios_Objective C - Fatal编程技术网

Ios 以编程方式访问图像资产

Ios 以编程方式访问图像资产,ios,objective-c,Ios,Objective C,“我的图像资源”目录有一个名为“Nature”的文件夹,其中包含数百个图像文件 我想在我的图像资产的“Nature”目录下获得一个图像文件名数组。然后,我将从该数组中选择一个随机图像名称,并用[UIImage imageNamed:@“…”显示它。我一直在研究如何在IncludedStudyImages目录下获取图像名称数组。我甚至在文档中找不到任何关于如何以编程方式与图像资产交互的内容(除了显示它们) 谢谢您的帮助。我搜索了这个问题,得出结论,您无法直接访问IncludedStudyImage

“我的图像资源”目录有一个名为“Nature”的文件夹,其中包含数百个图像文件

我想在我的图像资产的“Nature”目录下获得一个图像文件名数组。然后,我将从该数组中选择一个随机图像名称,并用
[UIImage imageNamed:@“…”
显示它。我一直在研究如何在IncludedStudyImages目录下获取图像名称数组。我甚至在文档中找不到任何关于如何以编程方式与图像资产交互的内容(除了显示它们)


谢谢您的帮助。

我搜索了这个问题,得出结论,您无法直接访问
IncludedStudyImages
目录。检查以下各项:



另一种解决方法是,您可以根据某种顺序预定义文件名。例如,“image1.png”、“image2.png”、“image3.png”等名称。使用这种方法,您可以选择一个随机图像特征。

我搜索了这个问题,得出结论,您无法直接访问
IncludedStudyImages
目录。检查以下各项:



另一种解决方法是,您可以根据某种顺序预定义文件名。例如,“image1.png”、“image2.png”、“image3.png”等名称。使用这种方法,您可以选择一个随机的图像特征。

我知道有两种方法可以获得一组图像文件


在资源中,对所有图像使用相同的前缀,并附加递增的数字:

然后你可以:

for (int i = 1; i <= 6; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"bg_button%d", i]];
    NSLog(@"%@", image);
}


希望这对你有帮助

我知道有两种方法可以获取图像文件数组


在资源中,对所有图像使用相同的前缀,并附加递增的数字:

然后你可以:

for (int i = 1; i <= 6; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"bg_button%d", i]];
    NSLog(@"%@", image);
}


希望这对你有帮助

这可能已经晚了,但这可能会帮助其他人

您不能直接访问资产中编译为.car的所有文件

从资源中访问所有文件的替代方法是创建.plist文件,其中包含资源中包含的所有图像,并且plist文件可以轻松访问。以下是实现这一目标的步骤

步骤1:在构建阶段添加脚本->运行脚本


这可能很晚,但这可能会帮助其他人

您不能直接访问资产中编译为.car的所有文件

从资源中访问所有文件的替代方法是创建.plist文件,其中包含资源中包含的所有图像,并且plist文件可以轻松访问。以下是实现这一目标的步骤

步骤1:在构建阶段添加脚本->运行脚本

echo "<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>" >  ${SRCROOT}/${PROJECT_NAME}/files.plist;
## Chnage Assets.xcassets if not using default one
find ${SRCROOT}/${PROJECT_NAME}/Assets.xcassets -type f -not -iname "*@*" -name "*.png"  -exec basename {} \; | while read line; do echo \<key\>$line\</key\>\<string\>$line\</string\>; done >> ${SRCROOT}/${PROJECT_NAME}/files.plist;
echo "</dict></plist>" >>  ${SRCROOT}/${PROJECT_NAME}/files.plist;
NSURL *filepath = [[NSBundle mainBundle] URLForResource:@"files" withExtension:@"plist"];
NSMutableDictionary *allXCAssetsImages = [NSMutableDictionary dictionaryWithContentsOfFile:filepath.path];