所以这是我的情况。
我正在从一个页面转到另一个,第二个视图需要很长时间才能加载。我想点一个活动指示器。我尝试了各种组合,但我无法正常使用。我的猜测是Segue和activity指标都在主线程上,因此活动指示器没有时间更新,因为线程阻塞了。
当用户点击该链接时,它会触发“活动”按钮操作:
我目前的实施在这里 - 我确定有一个简单的解决方法。
- (IBAction)activityButton:(id)sender {
dispatch_async(dispatch_get_main_queue(), ^{
[[self activityIndicator] startAnimating];
});
[self performSelector:@selector(segueToPastFlights) withObject:self];
}
-(void)segueToPastFlights {
[self performSegueWithIdentifier:@"PastFlightSegue" sender:self];
}
如果我实际上没有做segue指标开始旋转正常......
答案 0 :(得分:0)
AHHA!
解决方法是在后台实际执行segue:
[self performSelector:@selector(segueToPastFlights) withObject:self];
变为
[self performSelectorInBackground:@selector(segueToPastFlights) withObject:self];
所有的工作都像希望的那样!