3 回答
TA贡献1784条经验 获得超7个赞
UIViewController
loadView()
loadViewIfNeeded()
viewDidLoad()
viewWillAppear(_ animated: Bool)
viewWillLayoutSubviews()
viewDidLayoutSubviews()
viewDidAppear(_ animated: Bool)
viewWillDisappear(_ animated: Bool)
viewDidDisappear(_ animated: Bool)
1. loadView
如果子类没有使用nib,那么子类应该在这里创建它们的自定义视图层次结构。不应该直接打电话。
2. loadViewIfNeeded
viewController
如果尚未设置视图控制器的视图,则加载该视图控制器的视图。
3. viewDidLoad
viewDidLoad
在加载视图后调用。对于在代码中创建的视图控制器,这是后加载视图.对于从NIB中未存档的视图控制器,这是在设置视图之后。
4. viewWillAppear
viewController
当视图即将变得可见时调用。默认什么都不做。
5. viewWillLayoutSubviews
在调用视图控制器的layoutSubview方法之前调用。子类可以根据需要实现。缺省值是NOP。
6. viewDidLayoutSubviews
在调用视图控制器的layoutSubview方法之后调用。子类可以根据需要实现。缺省值是NOP。
7. viewDidAppear
viewDidAppear
当视图完全转换到屏幕上时调用。默认什么都不做
8. viewWillDisappear
viewWillDisappear
viewController
viewController
viewController
.
当视图被取消、覆盖或以其他方式隐藏时调用。
9. viewDidDisappear
viewController
在视图被驳回、覆盖或以其他方式隐藏后被调用。默认什么都不做
super
如果子类UIViewController,则必须调用此方法的超级实现,即使您没有使用NIB。(为了方便起见,默认的init方法将为您做到这一点,并为这两个方法参数指定nil。)在指定的NIB中,File的所有者代理应该将其类设置为视图控制器子类,并将视图出口连接到主视图。如果使用nib名称调用此方法,则该类‘ -loadView
方法将尝试加载名称与视图控制器类相同的NIB。如果实际上不存在这样的nib,则必须调用 -setView:
以前 -view
调用,或覆盖 -loadView
方法以编程方式设置视图。
更新viewWillLayoutSubviews
viewDidLayoutSubviews
- 3 回答
- 0 关注
- 761 浏览
添加回答
举报