我在我的iOS项目中使用了以下内容https://www.cocoacontrols.com/controls/mkmovingblockanimation,但是我想从URL数组而不是本地资源加载图像。我附在我认为需要修改的片段下面。
有什么想法吗?
self = [super initWithFrame:frame];
if (self) {
self.slideImages = [[[NSMutableArray alloc] init] autorelease];
for (int i = 1; i < 10; i++) {
[self.slideImages addObject:[self imageWithBorderFromImage:[[CacheManager sharedInstance] imageNamed:[NSString stringWithFormat:@"image%d.png", i]]]];
}
for (int i = 0; i < rows; i++) {
UIImage* img = [self.slideImages objectAtIndex:arc4random() % [self.slideImages count]];
int size = frame.size.width;
UIImageView *imageView = [[UIImageView alloc] initWithImage:img];
imageView.frame = CGRectMake(0, 0, size - 6, size - 6);
imageView.center = CGPointMake(self.frame.size.width/2, i * self.frame.size.height/8);
[self addSubview:imageView];
[imageView release];
}
}
return self;
答案 0 :(得分:2)
首先,您应该创建一个从Internet异步下载图像的方法/类,这样您的UI就不会冻结。下载完所有图像后,请调用一个加载容器中图像的方法。
对于异步图像下载,您可以查看AFNetworking (AFImageRequestOperation)。您还应该查看GCD以获取有关线程的更多详细信息以及如何从后台线程切换到UI线程。
答案 1 :(得分:2)
您可以使用SDWebImage从网址下载图片。结帐链接