美文网首页
视图控制器的出栈,入栈(页面切换)

视图控制器的出栈,入栈(页面切换)

作者: 虞小虞 | 来源:发表于2016-06-29 18:01 被阅读65次

温故而知新,可以为师矣!

接下来便让我们复习一下之前学的基础知识吧!

1、导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器

2、我们要在栈中新增或者删除一个视图控制器,就需要得到导航控制器,一般在栈中得所有视图控制器都有一个self.navigationController,意思是我的导航控制器,也就是这个视图控制器所在的导航控制器,这样就拿到了导航控制器。

3、栈中新增视图控制器用pushViewController,其实就是push进去一个,这样对于用户而言就是打开一个新界面了。代码如下

- (IBAction)push:(id)sender {

//在storyBoard中拿到视图控制器

UIStoryboard*storyboad = [UIStoryboardstoryboardWithName:@"Main"bundle:[NSBundlemainBundle]];

AViewController*aViewController =  [storyboad  instantiateViewControllerWithIdentifier:@"AViewController"];

//导航控制器推送(入栈)

[self.navigationControllerpushViewController:aViewControlleranimated:YES];

}

4、栈中删除一个视图控制器用pop方法,pop方法由多种,代码如下

- (IBAction)pop:(id)sender {

//出栈

//当视图控制器出栈之后,此视图控制器的实例对象死亡,返回上一级视图控制器

//[self.navigationController popViewControllerAnimated:YES];

//返回根视图

//[self.navigationController popToRootViewControllerAnimated:YES];

//返回指定的视图控制器

for(UIViewController*viewController in self.navigationController.viewControllers){

//判断此实例对象是否是某个类型(isKindOfClass)

if([viewControllerisKindOfClass:[AViewControllerclass]]) {

[self.navigationControllerpopToViewController:viewControlleranimated:YES];

}

相关文章

  • 页面之间跳转

    UINavigationController通过栈的方式管理控制器的切换,控制入栈和出栈来展示各个视图控制器。UI...

  • 视图控制器的出栈,入栈(页面切换)

    温故而知新,可以为师矣! 接下来便让我们复习一下之前学的基础知识吧! 1、导航控制器初始化的时候一般都有一个根视图...

  • push与present的区别,以及Navigation的一些操

    pushViewController 导航控制器入栈的方式切换页面presentViewController 模态...

  • IOS pop和present的区别

    一、基本区别 pushViewController 导航控制器入栈的方式切换页面presentViewContro...

  • 踩坑记录

    如果当前页面是push出的页面,切换根视图控制器没问题;如果当前页面是present出的页面,切换跟视图控制器之前...

  • 小程序路由

    页面栈 页面栈保存页面的路由 页面跳转,便把该页面的压入栈 页面重定向,取代栈顶页面 页面返回,页面出栈 Tab切...

  • 常用视图切换方式的比较

    在iOS开发中,比较常用的切换视图的方式主要有以下几种: 1.入栈出栈方式 push、pop 使用举例(Vie...

  • UINavigationController

    UINavigationController (导航控制器) 常用的视图控制器 以栈的形式管理视图控制器 先进后出...

  • POP PUSH

    1.pop出栈,push压栈, push能跳转到任意制定的页面控制器,pop是返回到已经创建的控制器,出栈即意味着...

  • Flutter/Native混合工程页面跳转

    这篇文章介绍Flutter页面的入栈出栈方式、Flutter页面和Native页面互相跳转的方法,以及混合页面栈的...

网友评论

      本文标题:视图控制器的出栈,入栈(页面切换)

      本文链接:https://www.haomeiwen.com/subject/kzrxjttx.html