天天看点

iOS 导航控制器上添加\删除子视图

1.要实现下图的UI

iOS 导航控制器上添加\删除子视图

2.容易搞错的地方:添加子视图B\移除子视图B.少了一步,可能就无法添加或者移除子控制器

- (void)addChildVC
{
    // 初始化子控制器B
    QKViewController2 *v2 = [[QKViewController2 alloc]init];
    v2.view.frame = CGRectMake(0, 0, 320, 480);
    
    // 添加子控制器B
    [self addChildViewController:v2];
    // 添加子控制器B的view
    [self.view addSubview:v2.view];
    // 告诉子控制器B,已经添加到父控制器A上了
    [v2 didMoveToParentViewController:self];
    
    self.childVC = v2;
}

- (void)removeChildVC
{
    // 告诉子控制器B,即将从父控制器A移除
    [self.childVC willMoveToParentViewController:nil];
    // 移除子控制器B的view
    [self.childVC.view removeFromSuperview];
    // 移除子控制器B
    [self.childVC removeFromParentViewController];
}