Objective c UIActivityIndicator不设置动画
微调器显示为冻结状态,并且不会开始设置动画 编辑:好的,我找到了原因,但还没有找到解决办法 此视图控制器通过页面卷曲转换推入导航控制器堆栈:Objective c UIActivityIndicator不设置动画,objective-c,ios,multithreading,Objective C,Ios,Multithreading,微调器显示为冻结状态,并且不会开始设置动画 编辑:好的,我找到了原因,但还没有找到解决办法 此视图控制器通过页面卷曲转换推入导航控制器堆栈: - (void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.connectionIndicator = [[[UIActivityIndicatorView alloc] initW
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.connectionIndicator = [[[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
[self.view addSubview:connectionIndicator];
[self.connectionIndicator setCenter:CGPointMake(self.view.frame.size.width/2, 15)];
[connectionIndicator startAnimating];
}
移除上面的卷曲过渡(如下所示)可以解决微调器冻结问题
ServerHandshakeViewController *shvc = [[ServerHandshakeViewController alloc] initWithHost:h];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
[self.navigationController pushViewController:shvc animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
[shvc release];
但是,如果我想保留卷曲页面转换,该怎么办?您可以尝试使用块方法,在该方法中可以指定动画选项。UIViewAnimationOptionAllowAnimatedContent是应该释放微调器的选项
ServerHandshakeViewController *shvc = [[ServerHandshakeViewController alloc] initWithHost:h];
[self.navigationController pushViewController:shvc animated:NO];
[shvc release];
可以尝试使用块方法,在其中可以指定动画选项。UIViewAnimationOptionAllowAnimatedContent是应该释放微调器的选项
ServerHandshakeViewController *shvc = [[ServerHandshakeViewController alloc] initWithHost:h];
[self.navigationController pushViewController:shvc animated:NO];
[shvc release];
connectionIndicator
==self.connectionIndicator
?@berylium:是的,它们与您的问题一样,标记为多线程。也许,你在主线程中执行了一些长任务,它会冻结你的程序。@铍:是的,这可能是一种可能性,但我想这里不是这样的。相反,原因是从上一个视图控制器到这个视图控制器的页面卷曲动画-我已经更新了我的问题连接指示器=self。连接指示器?@berylium:是的,它们与标记为多线程的问题相同。也许,你在主线程中执行了一些长任务,它会冻结你的程序。@铍:是的,这可能是一种可能性,但我想这里不是这样的。相反,原因是从上一个视图控制器到这一个的页面卷曲动画-我已经更新了我的问题-我尝试了这个,但没有任何运气。谢谢你的建议,虽然我试过了,但运气不好。谢谢你的建议