0

我有这个滚动视图,我从 URL 中加载了几张图片。问题是滚动视图在全部加载之前不会显示它们中的任何一个。我想在我完成加载她的那一刻显示每张图片。

我的代码如下所示:

-(void)loadPhotosToLeftscroll{

    for (int count = 0 ; count < [leftPhotoArray count]; count++) {
        NSLog(@"nextPhotoHight: %f",nextLeftPhotoHight);

        NSMutableDictionary *photoDict;
        photoDict = [leftPhotoArray objectAtIndex:count];

        float photoHight = [[photoDict objectForKey:@"photos_height"]floatValue];
        float photoWide= [[photoDict objectForKey:@"photos_width"]floatValue];
        NSString *photoPath = [photoDict objectForKey:@"photos_path"];

        NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:photoPath]];

        UIImage *image = [[UIImage alloc] initWithData:imageData];

        UIImageView *photoView = [[UIImageView alloc]initWithFrame:CGRectMake(10 , nextLeftPhotoHight, photoWide, photoHight )];

        [photoView setImage:image]; 
        [photoView.layer setMasksToBounds:YES];
        [photoView.layer setCornerRadius:6];

        nextLeftPhotoHight = photoView.frame.size.height + photoView.frame.origin.y + 10;

        [leftBlockScroll addSubview:photoView];
    }

}
4

1 回答 1

1

你最好使用异步方式来做到这一点。

相对主题是NSURLConnection、UIImageView。

我以前做过类似的事情。1. 创建一个继承 UIView 的新模型 2. 这个模型会有一个 UIImageView, NSData 3. 当你初始化模型时,传入一个 URL 4. 使用 NSURLConnection 发送 AsynchroizedRequest 5. 通过使用 NSURLConnection 委托,你最终会得到图片的数据 6. 用这些数据初始化一个 UIImage 7. 用这个 Image 初始化 UIImageView 8. 把这个 imageview 添加到这个 model 或者直接把这个 model 指向 imageview

随时询问更多详细信息:)

于 2012-06-18T15:17:02.000 回答