目前我有一个UITableView填充从服务器收集的JPG文件。UIActivityIndicatorView显示后presentViewController
问题是,当我选择一个单元格时,活动视图控制器需要一段时间才能显示,因为JPG的大小约为3mb。
我想要做的是在单元格中放置一个活动指示器,因此当它被选中时它将显示指示器,直到活动视图控制器显示然后消失。
但是,目前发生的情况是,当我选择单元格时,图像下载并部分冻结,然后活动视图控制器弹出,允许“保存到相机胶卷”,但当控制器出现时指标在错误的时间也是如此。我也尝试在视图控制器显示之前启动动画。
这里是我到目前为止的代码
// creating spinner activity
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.frame = CGRectMake(0, 0, 24, 24);
UITableViewCell *Cell = [tableView cellForRowAtIndexPath:indexPath];
Cell.accessoryView = spinner;
//popup menu for save to camera roll
UIImage * image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:path]]];
UIActivityViewController* activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObject:image]
applicationActivities:nil];
//check to see if jpg file
if([ext isEqualToString:@"jpg"]) {
[spinner startAnimating];
[self presentViewController:activityViewController animated:YES
completion:^{}];
}
这是人们面对表视图时相当常见的问题,您需要异步加载图像。 [SDWebImage](https://github.com/rs/SDWebImage)是最好的选择。 – Mar0ux
我不确定在SDWebImage上,我试图按照说明安装那里的github,但是当我完成了所有的步骤,并去建立我有多个错误,你能提供给我任何其他的链接,让它的工作? @ Mar0ux – teejay
SDWebImage上的两件事:'iOS 5.0最低部署版本'并使用ARC。但我很困惑:你的问题只是在加载图像时冻结或者其他的问题? – Mar0ux