iOS开发中视图控制器的子视图管理与上下文菜单
1. 子视图控制器的添加与移除
视图控制器有一个 children 数组,这赋予了它作为父视图控制器的能力。但不能直接操作这个数组,因为子视图控制器在特定时刻需要接收特定事件:
- 成为子视图控制器时
- 其视图添加到界面和从界面移除时
- 不再是子视图控制器时
1.1 添加子视图控制器
当一个视图控制器要成为当前视图控制器的子视图控制器时,需要按以下顺序操作:
1. 调用 addChild(_:) 方法,将子视图控制器作为参数传入。子视图控制器会自动添加到 children 数组并被保留。
2. 将子视图控制器的视图添加到界面中,作为当前视图控制器视图的子视图。
3. 调用 didMove(toParent:) 方法,将当前视图控制器作为参数传入子视图控制器。
示例代码如下:
let vc = // 初始子视图控制器
self.addChild(vc) // 自动调用 "will"
// 在 "will" 和 "did" 之间将视图插入界面
self.view.addSubview(vc.view)
vc.view.frame = // 设置视图框架,或使用约束
// 调用 add 后,必须调用 "did"
vc.didMove(toParent: self)
1.2 移除子视图控制器
当一
超级会员免费看
订阅专栏 解锁全文
11

被折叠的 条评论
为什么被折叠?



