管理自己的视图控制器_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 管理自己的视图控制器

管理自己的视图控制器

 2013/8/8 17:08:51  苹果梨  博客园  我要评论(0)
  • 摘要:最经在做一个基于iPad的APP,界面的布局希望和新浪微博(iPad版)一样,所以不得不自己管理自己的子视图控制器思路如下:1一个根级别的视图控制器,有个子视图控制器的集合,一个当前正在展示的控制器。2如果显示某个子视图控制器的视图就创建一个子视图控制器,将它的View插入到根视图控制器的视图中。3如果关闭子页面的话,把只视图控制器的view从根视图控制器的view里移除,同时子视图控制器从根视图控制器的集合中移除,根视图控制器当前正在展示的控制器设置为nil遇到问题如下
  • 标签:自己

最经在做一个基于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;

 

 

发表评论
用户名: 匿名