视图切换原理:
1.UITabBarController:以平行的方式管理视图,各个视图之间的关系并不大,每个加入到UITabBarController的视图都会进行初始化(只加载当前显示的viewcontroller其他的只做初始化)即使当前不显示在界面上,相对比较占用内存
2.UINavigationController:以栈的方式管理视图,只有栈顶得控制器能够显示,各个视图的切换实际就是入栈和出栈操作,出栈后的视图会立即销毁,UINavigationController必须有一个根控制器rootViewController,这个根不会被销毁
3.模态:以模态窗口的形式管理视图,当前视图关闭前其他视图的内容无法进行操作,模态一般只在临时需要时使用,如:UIalertView,UIActionSheet,相册等
4.storyboard的segue工作方式:
①创建目标视图控制器
②创建segue对象
③调用源视图对象的prepareForSegue:sender:方法
④调用segue对象的perform方法将目标控制器推送到屏幕
⑤释放segue对象
UITabBarController的常用属性
1.tabBarController:通过它访问UITabBarController
2.tabBarItem:控制视图在UITabBarController的tabBar中的显示信息。tabBarItem的image属性必须是png格式(建议大小32 * 32)并且打开alpha通道
3.viewControllers:获取UITabBarController所管理的所有视图控制器,默认当前显示的是viewControllers[0]
UINavigationController的常用属性
1.backBarButtonItem:必须通过setTitle方法设置,不能用.title语法
2.navigationItem:必须通过setTitle方法设置,不能用.title语法
3.childViewControllers:获取栈中所有的视图