如何设置导航转场动画(Navigation转场)

1.首先,让Controller遵守NavigationController代理。

self.navigationController.delegate=self;

写完这句话之后发现要遵守协议

2.然后点进去协议,实现方法

- (nullableid)navigationController:(UINavigationController*)navigationController

animationControllerForOperation:(UINavigationControllerOperation)operation

fromViewController:(UIViewController*)fromVC

toViewController:(UIViewController*)toVC  {

returnself;

}

注意此处可以return self,也可以return别的,来作为转场动画器;

3.写完上面的方法,发现要遵守协议

遵守完协议,发现有方法要实现

- (NSTimeInterval)transitionDuration:(nullableid)transitionContext{

return1;

}

- (void)animateTransition:(id)transitionContext{

UIView*containerView = [transitionContextcontainerView];

UIViewController*toVC = [transitionContextviewControllerForKey:UITransitionContextToViewControllerKey];

[containerViewaddSubview:toVC.view];

toVC.view.alpha=0;

[UIViewanimateWithDuration:[selftransitionDuration:transitionContext]animations:^{

toVC.view.alpha=1;

}completion:^(BOOLfinished) {

[transitionContextcompleteTransition:YES];

}];

}

上述两个方法,一个是给出动画执行的时间,第二个是动画具体执行的动作

之后就可以实现转场动画了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标...
    VincentHK阅读 10,776评论 3 44
  • 概述 这篇文章,我将讲述几种转场动画的自定义方式,并且每种方式附上一个示例,毕竟代码才是我们的语言,这样比较容易上...
    伯恩的遗产阅读 54,265评论 37 381
  • 概述 这篇文章,我将讲述几种转场动画的自定义方式,并且每种方式附上一个示例,毕竟代码才是我们的语言,这样比较容易上...
    iOS_Developer阅读 4,655评论 0 4
  • 准备: 苹果在iOS7之后,提供了自定义转场API。使得我们可以对模态(present、dismiss)、导航控制...
    M_慕宸阅读 5,319评论 0 7
  • 第二次重逢成都,有不一样的感觉。 我在这里呆过四年,那四年是最美好最无忧无虑的四年。一年过去,不过一年。 成都当然...
    Celia_Wang阅读 1,693评论 0 1

友情链接更多精彩内容