如何从URL单独加载少量图像滚动视图? Objective-C的

时间:2012-06-18 15:04:26

标签: iphone objective-c url uiscrollview uiimageview

我有这个滚动视图,我正在从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];
    }

}

1 个答案:

答案 0 :(得分:1)

您最好使用异步方式来执行此操作。

相关主题是NSURLConnection,UIImageView。

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

随意询问更多细节:)