可能的iphone动画计时/渲染错误?
几周来,我一直在开发iphone应用程序。现在我遇到了一个动画问题,我不知道该如何解决。也许你能帮忙。以下是细节(有点长,请耐心听我说): 基本上我想要达到的效果是,当用户点击一个按钮时,一个加载视图弹出,隐藏了整个屏幕;然后这些应用程序会进行大量繁重的计算,这需要几秒钟的时间。计算完成后,soem结果视图(类似于棋盘上的棋子)将在加载视图下呈现。渲染完所有结果视图后,我使用动画移除加载视图并向用户显示结果视图。 以下是我的工作:可能的iphone动画计时/渲染错误?,iphone,animation,uiview,timing,Iphone,Animation,Uiview,Timing,几周来,我一直在开发iphone应用程序。现在我遇到了一个动画问题,我不知道该如何解决。也许你能帮忙。以下是细节(有点长,请耐心听我说): 基本上我想要达到的效果是,当用户点击一个按钮时,一个加载视图弹出,隐藏了整个屏幕;然后这些应用程序会进行大量繁重的计算,这需要几秒钟的时间。计算完成后,soem结果视图(类似于棋盘上的棋子)将在加载视图下呈现。渲染完所有结果视图后,我使用动画移除加载视图并向用户显示结果视图。 以下是我的工作: 当用户单击按钮时,运行以下代码: [UIView beginAn
[UIView commitAnimations];
for(int colIndex = 1; colIndex <= result.columns; colIndex++) {
for(int rowIndex = 1; rowIndex <= result.rows; rowIndex++) {
ResultView *rv = [ResultView resultViewWithData:results[colIndex][rowIndex]];
[self.view addSubview:rv];
}
}
(感谢您完成这篇长篇文章,:-)AddSubview应该将子视图添加到其对等视图的顶部。您可能需要insertSubview:belowSubview:
我猜它有时“起作用”,因为CPU争用导致计算暂停动画。是的,这正是问题所在。我想了想,但被它在某个时候起作用的事实弄糊涂了。我加了一个“bringSubViewTOFront”电话,现在一切都好了。谢谢
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[loadingViewController.view removeFromSuperview];
[UIView commitAnimations];