码迷,mamicode.com
首页 > 其他好文 > 详细

003-多视图控制器切换

时间:2014-08-05 21:50:30      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:des   style   color   使用   os   io   for   ar   

多视图控制器切换

1.容器的概念

• 一个iOS的app很少只由一个ViewController组成,除非这个app极其简单。当app中有多个ViewController时,就需要对这些ViewController进行管理

• 容器的概念:负责展示一个或者多个ViewController,并管理这些 ViewController的生命周期

• ?部分容器本身也是一个ViewController,被容器管理的控制器称为容器的?控制器(childViewController),?容器被称为父控制器(parentViewController)

• 也有极少数容器不是ViewController,如UIPopoverController,继承于NSObject。注:UIPopoverController只能在iPad中使?


2.容器的特点

• 可以添加、移除或切换childViewController

• 持有所有childViewController的实例(一般存在NSArray中)

• 负责childViewController的视图?命周期方法的调用

– viewWillAppear
– viewDidAppear
– viewWillDisaapper

– viewDidDisappear – 旋转事件 


3.iOS中视图控制器常见的几种切换方式 

1. Tabbar选项卡
– 以UITabbarController为容器,以平行的方式是管理子视图控制器

• 2. Push推送
– 以UINavigationController为容器,以的形式管理?子视图控制器

• 3. Modal模态
– 以模态窗??的方式显示新的视图控制器,新视图控制器关闭前,?户?法与其他控制器进行交互

模态窗?口的特点

• 是单独使?用的窗??口,不依赖与容器视图控制器
• 通常?用于显?示相对独?立的窗??口,例如:?用户登录、应?用程

序设置或者帮助信息等
• ?用户关闭模态窗??口前,不能与上?一级视图进?行交互 

 


4.UITabbarController,NavigationController

1.UITabbarController常?用属性

• title:标题
• image:图像
• badgeValue:右上?角的图标
• viewControllers:所有?子视图控制器

• 注意:tabBarController在实例化时会加载其中的所有子视图控制器 

 

2.UINavigationController的工作原理

• ?作原理: 以栈的形式管理?子视图控制器

• UINavigationController的构成:

– 上?面是UINavigationBar

– 下?面是topViewController的 view,topViewController的 navigationItem属性决定了 UINavigationBar显?示的内容 

UINavigationController中的常?用属性和?方法

• 常?用属性

  1. childViewControllers ?子视图控制器

  2. title 标题

  3. backBarButtonItem 返回按钮

  4. leftBarButtonItem 左侧按钮

  5. rightBarButtonItem 右侧按钮

    • 常?用?方法

    • –  pushViewController 将指定视图控制器压?入栈顶

    • –  popViewControllerAnimated 将当前视图控制器从栈中弹出 

 


5.segue对象的?生命周期

• 创建?目标视图控制器

• 创建segue对象并调?用它的 initWithIdentifier:source:destination:?方法

• 其中的标?示符是在Interface Builder中指定的唯?一标?示字符串,另外两个参数分别对应箭头的起始控制器和?目标控制器

• 调?用源视图控制器的prepareForSegue:sender:?方法 调?用segue对象的perform?方法,负责将?目标视图控制器推送到屏幕 释放segue对象 


ps:多视图控制器跳转方法总结

• Model
– 打开:presentViewController:animated:completion: – 关闭:dismissViewControllerAnimated:completion:

• Push
– 打开:pushViewController:animated: – 关闭:popViewControllerAnimated:

• Segue

– 即可?用于Modal亦可?用于Push

– 如果在打开??目标控制器前需要做额外的处理,可以使用performSegueWithIdentifier:sender:?方法 

003-多视图控制器切换,布布扣,bubuko.com

003-多视图控制器切换

标签:des   style   color   使用   os   io   for   ar   

原文地址:http://www.cnblogs.com/lszwhb/p/3892909.html

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