Open yaofly2012 opened 1 year ago
名称 | 解释 |
---|---|
Inspectors | |
First Responder | |
Exit | |
Initial View Controller | |
Outlet | Outlet |
Segue | |
Scene |
UIViewController
给storyboard里添加的ViewController手动关联UIViewController
:
UIViewController
即可。 // 创建storyboard对象
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"SubView" bundle:nil];
// 通过storyboard对象创建控制器
// instantiateInitialViewController:加载storyboard箭头指向的控制器
UIViewController *vc = [storyboard instantiateInitialViewController];
[self presentViewController:vc animated:YES completion:^{
NSLog(@"Did presentViewController");
}];
Application tried to present a nil modal view controller on target “Current View Controller”解决方案
Storyboard里多个UIViewControllerView
协作。
在Storyboard里就是这个连接UIViewControllerView
的箭头:
利用Segue的唯一标识符访问Segue。
UIViewController
iPhone用户看到的App页面都是
UIViewController
。UIViewController
是管理UIKit
应用程序视图层次结构。 在MVC设计模式扮演控制层的角色。UIViewController
作为Controller主要职责有:UIView
)管理视图管理
每个ViewController管理一个视图层级(View Hierarchy)。
根视图(Root View)
根视图是管理视图层级的一个容器。
指定视图(View)
有三种方式指定视图:
storyboard和xib文件方式属于Interface Builder。
View生命周期
创建View的过程
(摘自iOS开发-UIViewController使用详解)
生命周期
摘自UIViewController Lifecycle
1. 创建阶段
init
initWithCoder
:Storyboard方式指定视图会调用这个initWithNibName
2. 加载
loadView
用于创建view
属性viewDidLoad
viewDidUnload
iOS6 已废弃注意:
3. 展示阶段
viewWillAppear
viewWillLayoutSubviews
viewDidLayoutSubviews
viewDidAppear
viewWillDisappear
viewDidDisappear
创建
UIViewController
基于三种指定视图的方式,创建
UIViewController
对应有三种方式:// 接着初始化storyboard中的控制器 // 初始化“初始控制器”(storyboard里箭头所指的控制器) ViewController *vc = [storyboard instantiateInitialViewController];
// 通过一个标识初始化对应的控制器 // ViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"标识"];
init
方法内部也会调用initWithNibName
。参考
UIViewController
Lifecycle - 分类UIViewController
生命周期-执行顺序