码迷,mamicode.com
首页 > 移动开发 > 详细

iOS阶段学习第30天笔记(UIViewController—UINavigationController)

时间:2015-07-31 17:42:23      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

iOS学习(UI)知识点整理

 

一、UIViewController的介绍

1)概念:UIViewController 即视图控制器,用来管理和控制页面跳转的一个类 ,iOS里面采用了MVC的体系结构,在UI方便的

具体表现为View加ViewController。所以UIViewController是iOS应用当中非常常用而且很重要的一个类;一般使用都是自己写

一个类继承UIViewController这个类。在UIViewController里面有一个很重要的属性那就是View,也就 是这个Controller对应的

View,MVC里面的V和C。可以通过覆盖其中的loadView方法来手动创建View然后把它设置到 Controller的属性中。

2)新建一个类FirstViewController 基础ViewController 将这个类交给window的主视图控制器管理 例如:  

1 FirstViewController *firstVC = [[FirstViewController alloc] init];
2 self.window.rootViewController = firstVC;

 
3)页面跳转方法 实例代码

方法一  :

 1 //初始化第二个页面
 2 _secondVC = [[SecondViewController alloc] init];
 3 //从第一个页面跳转到第二个页面    
 4 [self presentViewController:_secondVC animated:YES completion:^{
 5         
 6 }];
 7 //注意:此处的跳转页面对象一般定义成全局的 否则会出错
 8 
 9 //对应的跳转返回方法:
10 //回到上一页面  注意:此方法写在第二个页面的.m文件中
11 [self dismissViewControllerAnimated:YES completion:^{
12        
13 }];

 

方法二 :

1 [self.view addSubview:_secondVC.view];
2 
3 //对应的跳转返回方法:
4 //回到上一页面  注意:此方法写在第二个页面的.m文件中
5 [self.view removeFromSuperview];

 

4)UIViewContrller初始化的时候backgroundColor默认是nil,并不是clearColor,所以我们在初始化视图控制器时要给视图控制器设置

一个不为clearColor的颜色  例如:

1  self.view.backgroundColor = [UIColor whiteColor];

 
二、UINavigationController 的介绍

1)概念:UINavigationController 即导航控制器是一个用于控制视图页面切换的一个类

2)UINavigationController  初始化实例代码

1 //初始化一个视图控制器
2 FirstViewController *firstVC = [[FirstViewController alloc] init];
3 
4 //初始化一个导航控制器
5 //导航控制器中自身有个栈容器,初始化的时候一定要设置一个rootViewController座位导航控制器的基栈
6 //导航控制器的初始化一定需要一个根视图控制器
7 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:firstVC];
8 //设置window的rootVC为我们初始化的导航控制器实例
9 self.window.rootViewController = nav;

 

3)pushViewController 实现页面切换 例如:

1 //初始化SecondViewController
2 SecondViewController *secondVC = [[SecondViewController alloc] init];
3 
4 //从页面1 跳转到页面2
5 [self.navigationController pushViewController:secondVC animated:YES];

 
4)popViewControllerAnimated 实现页面返回 例如:

//返回到上一个VC
1
[self.navigationController popViewControllerAnimated:YES]; 2 // 注意:通过导航控制器push到另一个vc,一定是通过导航控制器pop回上一个页面。 3 //两种跳转方式一定是对应的返回方式

 
5)popToRootViewControllerAnimated 通过导航控制器,从导航控制器栈容器的第N的VC直接跳转到导航控制器的根视图控制器 

例如:

1 [self.navigationController popToRootViewControllerAnimated:YES];

 

6)viewControllers 获取导航控制器的栈容器中的视图控制器数组 例如:

1 NSArray *vcArr = self.navigationController.viewControllers;
2 //获取第二个视图控制器
3 UIViewController *secondVC = [vcArr objectAtIndex:1];
4 
5 [self.navigationController popToViewController:secondVC animated:YES];

 

iOS阶段学习第30天笔记(UIViewController—UINavigationController)

标签:

原文地址:http://www.cnblogs.com/ChinaKingKong/p/4692465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!