我为我的 UITabBarController 设置了一个委托,并具有以下委托方法:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
[self.navigationController popToRootViewControllerAnimated: YES];
return NO;
}
该方法会触发,并且在上下文中,我是表视图的一到两个级别。根视图控制器正确显示,但导航栏没有重置,并且仍然有一个从一到两级进入表视图的“后退”按钮。
(上面的委托方法是我在我的应用程序中尝试做的简化形式,但仍然存在问题。在我的应用程序中,我需要在返回原始选项卡时显示根视图,所以我试图弹出在我离开之前到根视图)。
popToRootViewControllerAnimated 无法正常工作表明存在时间滞后问题,但这似乎不是我的情况。在执行 shouldSelectViewController 之前,我可以等待多久,导航栏的“后退”按钮仍然混乱。
代表是:
@interface BasicPlaceItemComment : UIViewController<UIAlertViewDelegate, UITabBarControllerDelegate> {
// data members ommitted
}
这是我从中派生所有表视图的类。