为什么我的UIActivityIndicator不停止旋转?

乌富

我在调用GCD进程之前,在下面的代码中显示了一个ActivityIndi​​cator。后台进程完成或遇到错误时,将引发通知。我在错误处理程序中调用stopAnimating方法,但微调器不断旋转。为什么?

UIActivityIndicatorView *mIndicator;

@interface VC_Main ()
@end

- (void)viewDidLoad
{
   [super viewDidLoad];
   [NSLog(@"viewDidLoad");

   // create indicator for download activity
   mIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
   [mIndicator setCenter:CGPointMake([self getScreen].x /2.0, [self getScreen].y / 2.0)]; // landscape mode
   [self.view addSubview:mIndicator]; 

   // fire off a single interval
   [NSTimer scheduledTimerWithTimeInterval:0.0
                                    target:self
                                  selector:@selector(timerTask:)
                                  userInfo:nil
                                   repeats:NO];

...
}


- (void) timerTask:(NSTimer *) timer
{
   NSLog(@"DEBUG: timertask timeout");

   [mIndicator startAnimating];
   ... 
}




// if there is an error parsing xml downloaded from server, it notifies here
- (void) xmlError:(NSNotification *)note
{
   NSLog(@"error parsing xml");
   [mIndicator stopAnimating];  // this doesn't work

   // fire off a refresh using retry timeout
   [NSTimer scheduledTimerWithTimeInterval:TIMEOUT_RETRY_MINS
                                                target:self
                                              selector:@selector(timerTask:)
                                              userInfo:nil
                                               repeats:NO];

   NSLog(@"will retry in %d", TIMEOUT_RETRY_MINS);   
}
ant

与每个UIKit调用一样,您需要在主线程上执行此操作。

做就是了:

dispatch_async(dispatch_get_main_queue(), ^{
    [mIndicator stopAnimating];
});

它应该工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的UIActivityIndicator不停止旋转?

来自分类Dev

为什么我的按钮永不停止?

来自分类Dev

为什么我的NSOperationQueue挂起后不停止执行?

来自分类Dev

为什么循环不停止?

来自分类Dev

为什么getchar不停止获取输入?

来自分类Dev

为什么“中断”不停止这个 for 循环?

来自分类Dev

为什么这个异步代码不停止?

来自分类Dev

为什么序言不停止削减?

来自分类Dev

为什么UIView旋转时不停留在中心?

来自分类Dev

递归,找到最大值,为什么不停止?

来自分类Dev

为什么遇到换行符后input()不停止?

来自分类Dev

为什么循环不停止使用“继续”?

来自分类Dev

为什么沙漏(WaitCursor)停止旋转?

来自分类Dev

为什么我的程序“停止”了?

来自分类Dev

为什么我的横幅拒绝旋转?

来自分类Dev

为什么我不能旋转Player变换?

来自分类Dev

为什么我的图像不旋转?

来自分类Dev

为什么CGContextDrawImage旋转我的图像

来自分类Dev

为什么该程序的打印输出不停止在0位?

来自分类Dev

为什么名称查找在找到使用指令隐式声明的实体时不停止?

来自分类Dev

我在drawInContext中的NSLog永不停止

来自分类Dev

如果 QTimer 不停止会发生什么

来自分类Dev

我如何找出为什么gdb停止了

来自分类Dev

为什么我的BackgroundService立即停止?

来自分类Dev

为什么我的LinkListCreate函数停止运行?

来自分类Dev

为什么我的键盘停止工作?

来自分类Dev

为什么我的 foreach 循环停止了?

来自分类Dev

旋转器为什么不旋转/旋转?

来自分类Dev

为什么这种OpenGL旋转也会平移我的对象?