我正在尝试从我的 App Delegate 管理活动指示器,这样我的任何视图都可以放置指示器。因此,我将其作为子视图添加到“窗口”并按如下方式启动/停止:
- (void)didStartActivity
{
if( activityIndicator == nil ) {
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityIndicator.hidesWhenStopped = YES;
activityIndicator.center = window.center;
activityIndicator.transform = CGAffineTransformScale(CGAffineTransformIdentity, 6.0, 6.0);
}
NSLog(@"%s: starting the activityIndicator", __FUNCTION__);
[window addSubview:activityIndicator];
[activityIndicator startAnimating];
}
我看到了日志消息,所以我知道代码正在被调用。指示器位于中心,是默认大小的 6 倍。但是,stopAnimating 并没有停止。我唯一能得出的结论是它需要在当前视图控制器中运行。
- (void)didStopActivity
{
NSLog(@"%s: stopping the activityIndicator", __FUNCTION__);
[activityIndicator stopAnimating];
[activityIndicator removeFromSuperview];
}