在UINavigation Controller中获取UITabBarController中View Controller的currentViewController
Get currentViewController of View Controller in UITabBarController in UINavigation Controller
我想知道如果我有一个 UITabBarController
并且在那个 TabBarController 中我有 4 个不同的 UINavigationController
,那么 NavigationController 显然有堆栈视图控制器。在我的应用程序委托中,我试图找出此信息,以便我可以停止显示应用程序内推送通知。所以我想做类似的事情:
if (self.currentViewController != self.chatViewController) {
//Show the notification everywhere else except here(here being self.chatViewController)
}
尝试这样做:
UITabBarController *tabBarControler = (UITabBarController*)self.window.rootViewController;
UINavigationController *navController = [[tabBarControler viewControllers] objectAtIndex:<selected_index>];
NSArray *navViewControllers = [navController viewControllers];
您可以像这样检查当前 viewController。
if (navController.topViewController != self.chatViewController) {
//Show the notification every else except here(here being self.chatViewController)
}
@kylecman 编辑
我最后做的是使用 tabbarcontroller 和导航控制器实例而不是使用数组(还没有发现需要那个)
然后我为 viewController 的 class
准备了一个 IF 语句
if (![navController.topViewController isKindOfClass:[ChatView class]] && ![navController.topViewController isKindOfClass:[MessagesViewController class]]) {
我想知道如果我有一个 UITabBarController
并且在那个 TabBarController 中我有 4 个不同的 UINavigationController
,那么 NavigationController 显然有堆栈视图控制器。在我的应用程序委托中,我试图找出此信息,以便我可以停止显示应用程序内推送通知。所以我想做类似的事情:
if (self.currentViewController != self.chatViewController) {
//Show the notification everywhere else except here(here being self.chatViewController)
}
尝试这样做:
UITabBarController *tabBarControler = (UITabBarController*)self.window.rootViewController;
UINavigationController *navController = [[tabBarControler viewControllers] objectAtIndex:<selected_index>];
NSArray *navViewControllers = [navController viewControllers];
您可以像这样检查当前 viewController。
if (navController.topViewController != self.chatViewController) {
//Show the notification every else except here(here being self.chatViewController)
}
@kylecman 编辑
我最后做的是使用 tabbarcontroller 和导航控制器实例而不是使用数组(还没有发现需要那个)
然后我为 viewController 的 class
准备了一个 IF 语句if (![navController.topViewController isKindOfClass:[ChatView class]] && ![navController.topViewController isKindOfClass:[MessagesViewController class]]) {