0

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

2 回答 2

2

所以首先你应该创建一个从互联网异步下载图像的方法/类,这样你的 UI 就不会冻结。下载所有图像后,调用一个将图像加载到容器中的方法。

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

于 2013-06-05T18:41:45.490 回答
2

您可以使用 SDWebImage 从 url 下载图像。结帐以下链接

SDWebImage

于 2013-06-05T18:53:24.710 回答