最经在做一个基于iPad的APP,界面的布局希望和新浪微博(iPad版)一样,所以不得不自己管理自己的子视图控制器
思路如下:
1 一个根级别的视图控制器,有个子视图控制器的集合,一个当前正在展示的控制器。
2 如果显示某个子视图控制器的视图 就创建一个子视图控制器,将它的View插入到根视图控制器的视图中。
3 如果关闭子页面的话,把只视图控制器的view从根视图控制器的view里移除,同时子视图控制器从根视图控制器的集合中移除,根视图控制器当前正在展示的控制器设置为nil
遇到问题如下:
1 怎么随意修改子视图控制器的view的frame.
2 为什么做了上述的第3步,但是子视图控制器并没有销毁?而且一些视图控制器的生命周期函数并没有调用。比如:viewDidUnload函数(我在里边做了些清理操作)
解决问题:
1 给子视图控制器添加了个CGRect 类型的 viewFrame属性,在子视图控制器的 viewDidLoad函数里 开始位置 设置自己的self.view.frame = self.viewFrame。
2 在移除子视图控制器时 需要手动调用对应的生命周期函数,
class="p1"> [self.tmpVC.view removeFromSuperview];
[self.tmpVC viewDidUnload];
self.tmpVC = nil;