我的应用中有很多导航控制器和一个标签栏控制器。现在我想检查当前我是在导航视图还是标签栏视图。我如何检查我当前的视图类。
NSString *className=self.window.rootViewController.description;
NSLog(@"class name is %@ ",className);
当我在导航控制器视图上时,输出为:
class name is <UINavigationController: 0x1cd78780>
当我在标签栏控制器上时,它会打印
class name is <UITabBarController: 0x1cdbd8d0>
我怎样才能认出它们。提前谢谢。
答案 0 :(得分:3)
Class rootClass = [self.window.rootViewController class];
if (rootClass == [UINavigationController class]) {
} else if (rootClass == [UITabBarController class]) {
}
答案 1 :(得分:1)
很容易。您已经发现它的UINavigationController现在只需要从导航控制器获取顶视图控制器
NSString *className = navigationController.topViewController.description;
NSLog(@"class name is %@ ",className);