我在一个具有一些繁重任务(Ajax 请求和 JSON 解析)的应用程序上工作,我想使用 UIIndicatorViews 来显示设备正忙。
假设我从“源”视图开始,并希望在加载数据后进入“目标”视图之前显示一个指标。
我的做法:在 source.didSelectRowAtPath 中启动指标,在 target.viewDidLoad 中加载数据,在 source.viewDidDisappear 中停止指标。
问题:指示器仅在延迟后才会显示动画。
“来源.m”
- (void)startIndicator {
indicator.hidden = NO;
[indicator startAnimating];
}
- (void)stopIndicator {
indicator.hidden = YES;
[indicator stopAnimating];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self stopIndicator];
}
- (void)viewDidDisappear:(BOOL)animated {
[self stopIndicator];
[super viewDidDisappear:animated];
}
“目标”
- (void)viewDidLoad {
[super viewDidLoad];
[self longLoadingMethod];
}