兩種解決方案:
- 禁用popToRootViewControllerAnimated:的動(dòng)畫(huà), 使用之處依次處理
[self.navigationController popToRootViewControllerAnimated:YES];
//改為
[self.navigationController popToRootViewControllerAnimated:NO];
- 保留動(dòng)畫(huà), 修改導(dǎo)航控制器的基類中
pushViewController: animated:
方法
/**
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
if (self.viewControllers.count > 0) {
viewController.hidesBottomBarWhenPushed = YES;
} else {
viewController.hidesBottomBarWhenPushed = NO;
}
[super pushViewController:viewController animated:animated];
}
*/
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
if (self.viewControllers.count > 0) {
// 當(dāng)前導(dǎo)航控制器只有一個(gè)viewController的時(shí)候push設(shè)置隱藏即可
if (self.viewControllers.count == 1) {
viewController.hidesBottomBarWhenPushed = YES;
}
} else {
viewController.hidesBottomBarWhenPushed = NO;
}
[super pushViewController:viewController animated:animated];
}