1

我需要在基于 Tab 的应用程序上切换选项卡时检测 Navigation BackBarButton 和 View。我怎样才能做到这一点。我需要代码示例

4

1 回答 1

1

NavigationBar 是在被推送的 viewController 加载之后绘制的。此外,modalViewController 位于 navigationController 的“堆栈”中的 topViewController 之上。并检测 UINavigationController 的后退按钮按下是通过验证当前视图控制器不存在于导航控制器的视图控制器堆栈中。它可以安全地检查 - (void)viewDidDisappear:(BOOL)animated 中的这个条件,逻辑上,当调用该方法时,视图控制器极有可能从堆栈中删除。使用navigationController.topViewController 可以检测切换视图或相同视图,使用isKindOfClass 触发backBarButtonItem。这是对我有用的示例。

- (void)viewDidDisappear:(BOOL)animated{
if ([self.navigationController.topViewController isKindOfClass:[SDWebImageRootViewController class]]) {
    NSLog(@"Is kind of");
    //condition goes here
  }
if (!self.navigationController.topViewController) {
    NSLog(@"Is kind of topViewController");
   //condition goes here
}

}

于 2012-08-22T08:48:09.350 回答