我正在编写一个在不同视图中有几个UIImage动画的应用程序。现在我正在使用这行代码加载所有图像:
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10001.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10002.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10003.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10004.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10005.png" ofType:nil]],
并像这样加载所有100张图片。
然后,在第二个视图中,我加载它:
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20001.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20002.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20003.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20004.png" ofType:nil]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20005.png" ofType:nil]],
再次加载100张图片。
有没有办法加载所有图像但只放一次图像的名称?我想要的是,例如,放置前2个数字(10),然后自动加载其余图像。 Xcode有可能吗?谢谢!
答案 0 :(得分:1)
这应该有用(未经测试,但想法应该清楚)
- (NSArray *)loadImagesWithNumber:(NSInteger)number count:(NSUInteger)count
{
NSMutableArray *array = [NSMutableArray arrayWithCapacity:count];
for(NSUInteger i=0; i<count; i++)
{
NSString *name = [NSString stringWithFormat:@"%u.png", number + i];
UIImage *image = [UIImage imageNamed:name];
[array addObject:image];
}
return array;
}
示例:NSArray *images = [self loadImagesWithNumber:1000 count:100];
,这会从1000.png
到1099.png
加载100张图片。
请注意,如果您有0000.png
到0099.png
之类的图片,则此功能无效,因为代码不会添加任何前导零。但是,如果你需要的话,这是微不足道的(随意询问你是否需要帮助)