一、导航控制器的基本使用 1.那接下来呢,我们就要讲解这个重中之重了啊,导航控制器,大家一定要注意听,那首先呢,我们先来看ppt,引导一下, 导航控制器.pptx,打开, 那接下来呢,我们就要学习这个多控制器的管理了, 里面的第一个内容,叫做导航控制器, 那今天呢,我们主要针对的是上面这个啊,UINavigationController 第二个,UITabBarController,大家可以忽略, 然后呢,主要是,UINavigationController的工作原理 然后呢,以及Segue(/ˈseɡweɪ/,赛格瑞;联线)的使用, 然后呢,以及,控制器之间的数据传递, 但今天呢,我们只是,小小的引入一下这个数据传递,不要太担心, 走着, 然后呢,多个控制器,为什么要给大家介绍这个多个控制器管理呢, 因为我们在平常使用应用程序的时候,不管是安卓、不管是iOS、以及其他的什么塞班,对吧,不管你什么应用,它都有很多的界面儿, 每一个界面儿,其实呢,都相当于一个控制器, 每出来一个界面儿,它都要给你加载一个控制器, 把这个界面儿推过来啊,返回去啊, 那这个呢,就牵扯到这个多个控制器管理了, 所以呢,也就是我们今天要给大家介绍的UINavigationController, 然后,这个UITabBarController呢,它是标签控制器, 这是我们后面要给大家讲解的, 不过呢,也给大家提一下啊, 这个TabBarController,什么时候用呢,你在微信里面,你注意到没有,底下有四个选项, 1)联系人 2)聊天 3)动态 4)你自己的信息 对吧, 然后,它的,底下这个条儿呢,就是通过标签儿控制器里面的一个TabBar实现的 那这个后面再去研究了啊,知道就行, NavigationController,就是针对你上边儿这一部分,顶部是不是有一个导航条, 那我们也可以看一下我们模拟器, 比如说,设置里面, 一点击,然后呢,整个界面儿,就相当于一个导航控制器, 只不过呢,它里面内置的一个TableViewController 然后呢,这个导航控制器,主要作用是干嘛的呢,主要就在这里, 主要就在这儿,现在这个设置里边,是不是什么都没有, 但是,当你进行跳转的时候,你点击General,跳转,看到没有, 上边就有内容了吧, 你过去(点About) 回来(点击Settings) 这些东西,跳转过去,然后呢,返回,这些操作呢,都是通过我们导航控制器,来实现的, 现在先感受一下啊,还有几个概念的东西,需要给大家说一下, 用一个控制器A去管理3个控制器B、C、D 这个控制器A被称为控制器B、C、D的“父控制器” 但是这里所说的“父控制器”,不是说,就是我们在控件里面,父控件、子控件、你是不是装进去啊, 父控件、与子控件的关系,是什么,子控件是不是装到父控件里面了,addSubview,是不是啊 但是我们这里面,它不是这个原理啊, 它只是相当于一个我这个导航控制器相当于一个容器, 然后你放过来一个控制器,把B、C、D三个控制器放进来, 明白吧,不是说跟我们控件一样,add什么的 不是这么一个道理啊, 我们继续往下看, 那这个呢,就是我们“设置”界面儿了,当你点击“通用”,是不是跳过去,然后呢,点击“设置”返回来,如果你点击“键盘”,跳过去 走一个 二、那接下来,就牵扯到这个导航控制器的基本使用了 1.那给大家说一下啊,这个导航控制器,就是UINavigationController 它的基本使用步骤呢,我们先来了解一下啊, 1)初始化UINavigationController 2)设置UIWindow的rootViewController为UINavigationController 这个是不是很熟悉啊,第二步是不是看的很熟, 3)将第一个视图控制器设置为UINavigationController的根视图控制器 4)通过push的方法去新建子控制器 5)通过pop的方法可以返回到上一个控制器 2.那这个push和pop,我再给大家说一下 我们这个ppt就看完了啊 然后呢,再给大家看一下模拟器 这个push什么时候使用呢 就是在这个TableView里面,比如说,选中一行,General, 那你调过来这个过程,是不是从左边儿、额、不是、从右边儿显示过来,对吧, 它这个过程呢,就叫做一个push的过程 但是,当你点击Settings的时候, 点击Setting,返回的时候, 这个过程相当于一个pop的过程 明白吧,一个push、一个pop、一个push、一个pop 2.那接下来呢,我们就上代码了啊,然后呢,边写边看啊,边写边说 那我先新建一份儿代码 选择这个iOS下面的Application,里面的Single View Application 给它起个Name呢, 点击Next,看一下是第几份儿代码了 05已经有了吧,该06了 06 - 导航控制器的基本使用 点击Next,点击Create 好,那跟上午一样 现在呢,我不用系统的这些控制器了,我还是用我们自定义的方式来加载控制器,那我是不是还得把它们删了,再写一遍啊,上午我们只写了两遍那个什么创建window啊,什么东西 1)选中这三个,ViewController.h、ViewController.m、Main.storyboard 点击Delete 然后呢,点击Move to Trash 2)然后呢,把这个Main,是不是得删掉 对,删掉,按住command ,走 3)然后呢,那紧接着,是不是在AppDelegate里面,就可以写了 对,第三步,把这个注释删掉 删掉 再写一遍啊, 1)创建window 2)设置window的根控制器 3)设置主窗口并可见 1)好,创建window,然后呢,这个大小,就是屏幕大小 self.window = [UIWindow alloc] initWithFrame: self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 2)设置window的根控制器 然后呢,这个先不说了, 3)将窗口设置为主窗口并可见 [self.window makeKeyAndVisible]; 2.设置window的根控制器 现在,我们不用其他的了啊,我们就用这个UINavigationController 有思路吗,我现在给你了,已经给你了,就是这个UINavigationController 导航控制器 怎么办呢, 1)第一步:创建一个导航控制器 上午呢,可能没给大家说,那我们这里直接写了啊, UINavigationController * UINavigationController *nav = [[UINavigationController alloc] init]; 2)把这个nav设置为窗口的根控制器 self.window.rootViewController = nav; 这样写,可以吗, 可以的啊,上午的话,我们没有说那种简单的操作啊,比如说,我直接UIViewController