`

ios UIViewController层级关系

    博客分类:
  • ios
阅读更多
- (void)setSelectedIndex:(NSUInteger)selectedIndex {
    if ([self selectedViewController]) {
        [[self selectedViewController] willMoveToParentViewController:nil];
        [[[self selectedViewController] view] removeFromSuperview];
        [[self selectedViewController] removeFromParentViewController];
    }
    
    _selectedIndex = selectedIndex;
    [[self tabBar] setSelectedItem:[[self tabBar] items][selectedIndex]];
    
    [self setSelectedViewController:[[self viewControllers] objectAtIndex:selectedIndex]];
    [self addChildViewController:[self selectedViewController]];
    [[[self selectedViewController] view] setFrame:[[self contentView] bounds]];
    [[self contentView] addSubview:[[self selectedViewController] view]];
    [[self selectedViewController] didMoveToParentViewController:self];
}
//当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用
UIViewController willMoveToParentViewController:
UIViewController removeFromParentViewController
UIViewController addChildViewController
UIViewController didMoveToParentViewController:
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics