ios 使用 pushViewController 切换视图的时候,如何设置有 模态切换 效果动画?

比如我切换的时候,代码如下

   CATransition *animation = [Core animationInit];
    [animation setSubtype:kCATransitionFromTop];
    [self.navigationController pushViewController:VC animated:NO];//必须设置为no,动画才有效
    [self.navigationController.view.layer addAnimation:animation forKey:nil];

效果有点像了。返回的时候

 CATransition *animation = [Core animationInit];
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    animation.fillMode = kCAFillModeForwards;
    animation.type = kCATransitionPush;
    [animation setDuration:0.15];
    animation.subtype = kCATransitionFromBottom;
    [self.navigationController.view.layer addAnimation:animation forKey:nil];
    [self.navigationController popViewControllerAnimated:NO];

返回的时候。动画有点僵硬。总之,感觉还是跟模态切换那个默认动画有点诧异。有解决的办法吗?

阅读 5.7k
2 个回答

CATransition *transition = [CATransition animation];
transition.duration = 0.5f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = @"moveIn";
transition.subtype = kCATransitionFromTop;
transition.delegate = self;
<#push/pop#>

你应该查阅 presentViewController 这个方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题