Iphone 检查rootviewcontroller的类型

Iphone 检查rootviewcontroller的类型,iphone,ios,objective-c,xcode,Iphone,Ios,Objective C,Xcode,我的应用程序中有许多导航控制器和一个选项卡栏控制器。现在我想检查我当前是否在导航视图或选项卡栏视图上。如何检查当前视图类 NSString *className=self.window.rootViewController.description; NSLog(@"class name is %@ ",className); 当我在导航控制器视图上时,输出为: class name is <UINavigationController: 0x1cd78780> 类名为 当我在选

我的应用程序中有许多导航控制器和一个选项卡栏控制器。现在我想检查我当前是否在导航视图或选项卡栏视图上。如何检查当前视图类

NSString *className=self.window.rootViewController.description;
NSLog(@"class name is %@ ",className);
当我在导航控制器视图上时,输出为:

class name is <UINavigationController: 0x1cd78780>
类名为
当我在选项卡栏控制器上时,它会打印

class name is <UITabBarController: 0x1cdbd8d0>
类名为
我怎么能认出他们来。提前感谢。

Class rootClass=[self.window.rootViewController Class];
if(rootClass==[UINavigationController类]){
}else if(rootClass==[UITabBarController类]){
}
Class rootClass=[self.window.rootViewController类];
if(rootClass==[UINavigationController类]){
}else if(rootClass==[UITabBarController类]){
}

这很简单。您已经发现它的UINavigationController现在只需从导航控制器获取俯视图控制器

NSString *className = navigationController.topViewController.description;
NSLog(@"class name is %@ ",className);

这很容易。您已经发现它的UINavigationController现在只需从导航控制器获取俯视图控制器

NSString *className = navigationController.topViewController.description;
NSLog(@"class name is %@ ",className);

导航控制器是否嵌入选项卡栏控制器?导航控制器是否嵌入选项卡栏控制器?