天天看點

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];
}