pushViewController和presentViewController的区别

Posted 韩大大的ios博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pushViewController和presentViewController的区别相关的知识,希望对你有一定的参考价值。

我通过 navgation 和tabbar来实现页面跳转
一般我们是通过pushViewController和presentViewController 来实现页面跳转
先来看一下通过navgation  push一个页面
[navVc pushViewController:safariVC animated:YES];
代码执行效果
技术分享
 
 

 
 
        [navVc presentViewController:safariVC animated:YES completion:nil];
          代码执行效果
 
技术分享
 
 
可以看出,使用navigation push出来的界面是保留navigation的;
 
而使用present出来的vc的界面是没有navigation的;
 
 
再来看一下下面tarbar的
 [tabbarVc presentViewController:safariVC animated:YES completion:nil];
效果图
使用tabbar present出来的视图同样没有导航栏或者导航控制器(图片显示的导航控制器是safar的)
而tabbar 不能使用push出视图来,这说明push只能在navigation下使用,而presen可以在任何一个视图控制器调用
技术分享
 
 
 
 

以上是关于pushViewController和presentViewController的区别的主要内容,如果未能解决你的问题,请参考以下文章

pushViewController和presentViewController的区别

presentViewController pushViewController和presentModalViewController

presentViewController pushViewController和presentModalViewController

PushViewController & 设置导航栏颜色和标题

使用 NavigationController.PushViewController 的 BeginAnimations 和 CommitAnimations

PushViewController 和 UIView 动画无效