如何提高滞后UIView动画的性能

时间:2012-02-22 23:11:09

标签: objective-c ios xcode animation uiview

我正在尝试从当前视图控制器应用翻转过渡到下一个视图控制器。它的工作,但它有明显的滞后(非常明显)。所以,我想问一下,你们有没有任何建议/解决方案来改进这个uiview动画,从一个视图控制器翻转到另一个视图控制器?

这是我的代码片段,感谢阅读,感谢任何有用的意见/建议。感谢

[UIView animateWithDuration:0.50 delay:0.00 options:0 animations:^{
    [self.navigationController pushViewController:viewController animated:NO];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
} completion:^(BOOL finished) {

}];

1 个答案:

答案 0 :(得分:6)

问题不在于你如何调用动画,而在于你对视图的绘图代码。如果您优化在这些控制器中渲染视图所需的逻辑和时间,我保证您会在它们之间的动画中看到更好的性能。

你可以尝试打开你当前设置为NO的cache参数,看看这在短期内是否有帮助,但它确实是一个绑带,而不是治愈。

此外,帧速率最高为60fps,0.5秒动画最多只能使用30帧。如果稍微增加动画持续时间,一旦优化了视图渲染,它将显得更平滑。