iPhone将本地图像资源更改为托管网址

时间:2013-06-05 18:25:42

标签: iphone ios image url mobile

我在我的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;

2 个答案:

答案 0 :(得分:2)

首先,您应该创建一个从Internet异步下载图像的方法/类,这样您的UI就不会冻结。下载完所有图像后,请调用一个加载容器中图像的方法。

对于异步图像下载,您可以查看AFNetworking (AFImageRequestOperation)。您还应该查看GCD以获取有关线程的更多详细信息以及如何从后台线程切换到UI线程。

答案 1 :(得分:2)

您可以使用SDWebImage从网址下载图片。结帐链接

SDWebImage