- (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][self contentView] addSubview:[[self selectedViewController] view]];
[[self selectedViewController] didMoveToParentViewController:self];
}
//当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用
UIViewController willMoveToParentViewController:
UIViewController removeFromParentViewController
UIViewController addChildViewController
UIViewController didMoveToParentViewController:;
[[self contentView] addSubview:[[self selectedViewController][self selectedViewController] didMoveToParentViewController:self];
}
//当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用
UIViewController willMoveToParentViewController:
UIViewController removeFromParentViewController
UIViewController addChildViewController
UIViewController didMoveToParentViewController:;
[[self selectedViewController] didMoveToParentViewController:self];
}
//当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用
UIViewController willMoveToParentViewController:
UIViewController removeFromParentViewController
UIViewController addChildViewController
UIViewController didMoveToParentViewController: