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

视图切换

时间:2015-07-22 18:30:24      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

  • UITabBarController:以平行的方式管理视图,各个视图之间往往关系并不大,每个加入到UITabBarController的视图都会进行初始化即使当前不显示在界面上,相对比较占用内存。 
  • UINavigationController:以栈的方式管理视图,各个视图的切换就是压栈和出栈操作,出栈后的视图会立即销毁。 
  • UIModalController:以模态窗口的形式管理视图,当前视图关闭前其他视图上的内容无法操作。

一,UITabBarController

  • UITabBarController会一次性初始化所有子控制器,但是默认只加载第一个控制器视图,其他视图控制器只初始化默认不会加载,为了能够将其他子控制器也正常显示在Tab bar中我们访问了每个子视图控制器的视图以便调用其视图加载方法(viewDidLoad);当然,既然会调用子视图的初始化方法,当然也可以将视图控制器的tabBarItem属性设置放到init方法中设置,如此则不用再遍历其视图属性了。 
  • 每个视图控制器都有一个tabBarController属性,通过它可以访问所在的UITabBarController,而且对于UITabBarController的直接子视图其tabBarController等于parentViewController。 
  • 每个视图控制器都有一个tabBarItem属性,通过它控制视图在UITabBarController的tabBar中的显示信息。 
  • tabBarItem的image属性必须是png格式(建议大小32*32)并且打开alpha通道否则无法正常显示。

使用storyboard创建UITabBarController     http://blog.csdn.net/nogodoss/article/details/39575759

 

二,UINavigationController

三,模态窗口

模态窗口使用起来比较容易,一般的视图控制器只要调用- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion NS_AVAILABLE_IOS(5_0);方法那么参数中的视图控制器就会以模态窗口的形式展现,同时调用- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion NS_AVAILABLE_IOS(5_0);方法就会关闭模态窗口。

 

  1. 采用代理模式   (子画面传给住画面/回调)
  2. 采用iOS消息机制 
  3. 通过NSDefault存储(或者文件、数据库存储等) 
  4. 通过AppDelegate定义全局变量(或者使用UIApplication、定义一个单例类等) 
  5. 通过控制器属性传递(住画面传给自换面)

视图切换

标签:

原文地址:http://www.cnblogs.com/xuqf2iOS/p/4667829.html

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