【多控制器和导航控制器简单介绍】
一、多控制器
一个iOS App 很少只有一个控制器组成的,除非这个App机器简单。当App中有多个控制器的时候,我们就需要对这些控制器进行管理。有多个view时,可以用一个大的view去管理1个或者多个小的view,控制器也是如此,用1个控制器去管理其它多个控制器。
比如,用一个控制器A去管理3个控制器B,C,D。控制器A被称为控制器BCD的 父控制器。
为了便于管理控制器,iOS提供了2个比较特殊的控制器
UINavigationController、UITabBarController
二、导航控制器
利用 UINavigationController,可以轻松管理多个控制器,完成控制器之间的切换,典型的例子就是系统自带的『设置』应用。
三、UINavigationController的使用步骤
1.初始化UINavigationCtontroller
2.设置UIWindow的rootviewController为UINavigarionController
3.根据具体情况,通过push方法添加对应个数的子控制器
四、导航控制器的一些属性和基本使用
(1).把子控制器添加到导航控制器中:
1.创建一个导航控制器
UINavigationController *nav=[[UINavigationControlleralloc]init];
2.设置导航控制器为window的根视图
self.window.rootViewController=nav;
3.添加
YYOneViewController *one = [[YYOneViewController alloc] init];
[nav pushViewController:one animated:YES];
(2).当前子控制器界面导航栏的标题以及对应返回标题的设置
self.navigationItem.title=@"第一个界面";
self.navigationItem.backBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"返回一" style:UIBarButtonItemStylePlain target:nilaction:nil];
(3).给导航栏添加按钮
说明:可添加一个,也可以添加多个(数组)
添加导航栏左边的按钮(添加一个相机图标的按钮),会盖掉返回
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
(4).界面跳转
跳转到第二个界面(当前为第三个,移除当前栈顶的控制器) [self.navigationControllerpopViewControllerAnimated:YES];
移除处理栈底控制器之外的所有控制器 [self.navigationControllerpopToRootViewControllerAnimated:YES];
只要传入栈中的某一个控制器,就会跳转到指定控制器 [self.navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];
iOS 多控制器和导航控制器简单介绍
最新推荐文章于 2018-04-16 10:27:15 发布