我想在ios中加载图像之前显示活动指示器

时间:2014-03-08 06:07:08

标签: ios iphone objective-c

我从网络服务获得image url,我已将该图片加载到imageview。如下所示..

[ImageName setImageWithURL:[NSURL URLWithString:[[NSString stringWithFormat:@"image url"]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]]].

imageview中加载图片需要时间。我想在imageview中加载图片之前显示活动指示器。

1 个答案:

答案 0 :(得分:13)

你可以这样做:

在视图中添加指标,将其置于图像视图的中心

    UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    [indicator startAnimating];
    [indicator setCenter:self.imageView.center];
    [self.contentView addSubview:indicator];

从块的succes方法中的superview中删除指标。

     NSUrl *anURL=[NSURL URLWithString:[[NSString stringWithFormat:@"image url"]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]];

    [_imageView setImageWithURL:[NSURL URLWithString:anURL]
                       success:^(UIImage *image) {
                           [indicator removeFromSuperview];
                       }
                       failure:^(NSError *error) {

                       }];
}

当然你可以为这个

做一个不错的子类