翻转动画仅仅是VC切换动效的一种,通过此方法可以方便的实现VC切换的各种动效。
思路:
MasterVC作为根视图控制器
AAVC和BBVC之间切换均通过MasterVC进行。
MasterVC作为视图控制器的容器,AAVC和BBVC作为子控制器放在容器中
类似网易云音乐VC翻转的核心代码:
[self addChildViewController:self.bb];
[self.bb didMoveToParentViewController:self];
[self transitionFromViewController:_aa
toViewController:_bb
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:nil
completion:^(BOOL finished) {
[self.aa willMoveToParentViewController:nil];
[self.aa removeFromParentViewController];
}];
通过修改options参数就可以达到实现其他动效的目的
Demo地址:https://github.com/NSSONGMENG/Demo/tree/master/TransitionVCDemo