1. 什么是视图控制器(View Controller)
简单来说,视图控制器用来管理你所有的视图。
他们是你的视图和模型的粘合剂。
如果你做过MVC的Web项目,我想你应该不会对它感到陌生。
2. 视图控制器的声明周期
Method | Description |
loadView | 创建并返回一个视图控制器的视图 |
viewDidLoad | 视图已经完成加载 |
viewWillAppear | 视图将要呈现(有或者没有动画) |
viewDidAppear | 视图完成呈现(有或者没有动画) |
viewWillDisappear | 视图将要消失(有或者没有动画) |
viewDidDisappear | 视图已经消失(有或者没有动画) |
viewWillLayoutSubviews | 视图将要布局它的子视图 |
viewDidLayoutSubviews | 视图已经完成它的子视图的布局 |
didReceiveMemoryWarning | 视图收到内存即将耗尽的警告 |
3. 生命周期流程
4. 一些系统的视图控制器
UIViewController subclass | Description |
UINavigationController | 管理和导向类似树状层级的视图控制器 |
UITabBarController | 以tab bar形式管理和呈现视图控制器 |
UITableViewController | 以表格形式管理和呈现视图控制器 |
UICollectionViewController | 以集合形式管理和呈现视图控制器 |
5. 自定义设备方向
// support just portrait -(NSUInteger) supportedInterfaceOrientations { return UIInterfaceOrientationPortrait; } // support both portrait and landscape orientations(include upsidedown) -(NSUInteger) supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; } // support both portrait and landscape orientations - (NSUInteger) supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape; }