天天看点

关于在视图控制器上添加另一个控制器的View的问题

最近的项目由于项目需要,涉及过多次在当前控制器上添加另一个控制器的View问题。这里做个笔记,为了方便,当前视图控制器记为控制器1,添加的视图记为控制器2

1.首先,因为控制器2的视图上有需要与用户交互的需求,所以一定要设置2为1的子控制器

      ViewController *vc2 = [[ViewController alloc]init];

      [self addChildViewController:vc2];

    ps:当有多个子视图时还可能用到,子控制器的removeFromParentViewController方法

2.关于2的view的创建

  因为view的创建涉及到2的viewdidload方法,所以在控制器1的方法里面不要再重新创建vc2的view,不然创建的是另一个对象。在这里只需要根据需要设计vc2的view的frame就可以了。如下:

    vc2.view.frame = CGRectMake(0, 108, kScreenWidth, kScreenHeight-108);

继续阅读