任何控制器的父类都是UIViewController,导航栏控制器也不例外,它是UIViewController的子类。
一、什么是导航栏控制器?作用是什么?
UINavigationController也是一个控制器,UIViewController这个控制器是管理视图显现的,UINavagationController这个控制器是用来管理一些UIViewController的切换的,也就是说,在UINavigationController的管理下,实现不同的UIViewController切换。
这些被管理的UIViewController就是该UINavagationController的子控制器。
一个UINavagationController起码得有一个子控制器,我们把这个子控制器叫该导航栏控制器的根控制器RootViewController。在初始化一个UINavagationController的时候,初始化方法就会让你自带设置一个根视图RootViewController。例如:
UIViewController * rootViewController=[[UIViewController alloc]init];
UINavigationController * nav =[[UINavigationController alloc]initWithRootViewController:rootViewController];
注意:导航栏控制器是个管理型的控制器,它本身不显示内容。
二、在导航栏的控制下,怎么实现从一个控制器到下一个控制器的切换?
1、首先来看下从一个视图控制器,到另一个视图控制器不用导航栏控制是怎么完成的:
从第一个视图控制器到第二个视图控制器的切换,在第一个试图控制器中[self presentViewController: animated: completion:^{ }];此方法实现从第一个视图控制器切换到第二个视图控制器。
要想从第二个视图控制器再切换回来就要在第二个视图控制器中调用[self dismissViewControllerAnimated: completion:^{ }];
2、在导航栏控制器的控制下如何实现两个视图控制器的切换?
原文:http://www.cnblogs.com/ios-mengxiang/p/4357365.html