iPhone UIView动画最佳实践

iPhone UIView动画最佳实践

在iPhone上设置动画视图过渡的最佳做法是什么?


例如,ViewTransitions来自apple 的示例项目使用如下代码:


CATransition *applicationLoadViewIn = [CATransition animation];

[applicationLoadViewIn setDuration:1];

[applicationLoadViewIn setType:kCATransitionReveal];

[applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];

[[myview layer] addAnimation:applicationLoadViewIn forKey:kCATransitionReveal];

但是网络上还有漂浮的代码片段,如下所示:


[UIView beginAnimations:nil context:nil];

[UIView setAnimationDuration:0.75];

[UIView setAnimationDelegate:self];

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES];

[myview removeFromSuperview];

[UIView commitAnimations];

什么是最好的方法?如果你也可以提供一个片段,那就非常感激了。


注意:我无法让第二种方法正常工作。


凤凰求蛊
浏览 542回答 3
3回答

喵喵时光机

从UIView参考的有关beginAnimations:context:方法的部分:在iPhone OS 4.0及更高版本中不鼓励使用此方法。您应该使用基于块的动画方法。例如基于Tom的评论的基于块的动画[UIView transitionWithView:mysuperview                    duration:0.75                    options:UIViewAnimationTransitionFlipFromRight                 animations:^{                      [myview removeFromSuperview];                  }                  completion:nil];

Cats萌萌

让我们试试看看Swift 3 ......UIView.transition(with: mysuperview, duration: 0.75, options:UIViewAnimationOptions.transitionFlipFromRight , animations: {     myview.removeFromSuperview()}, completion: nil)
打开App,查看更多内容
随时随地看视频慕课网APP