我正在尝试从我的应用程序代理管理活动指示器,这样我的任何视图都可以放置指示器。因此,我将其作为子视图添加到“窗口”并启动/停止,如下所示:
- (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];
}
您是否尝试从后台线程执行此操作?一个简单而明确的测试是添加:
NSLog(@"thread: %@", [NSThread currentThread]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)