目前我有一个 UITableView 填充了从服务器收集的 JPG 文件。
问题是当我在单元格上选择时,由于 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:^{}];
}