如何获取当前的viewController类名?

时间:2012-08-09 14:17:06

标签: objective-c cocoa-touch uinavigationcontroller uitabbarcontroller

但问题是我的应用程序同时具有UInavigationController和UITabBarController

所以调用navigaionController.topViewController告诉我,我有UItabBarController

self.window.rootViewController返回UINavigationController

非常感谢

3 个答案:

答案 0 :(得分:2)

您可以检查它正在使用的类的类型 [VC isKindOfClass:(myVCClass class)]

答案 1 :(得分:0)

tabbarcontroller被设计为应用程序的顶级/根视图控制器。来自文档:

  

因为UITabBarController类继承自UIViewController类,所以选项卡栏控制器具有可通过view属性访问的自己的视图。部署选项卡栏界面时,必须将此视图安装为窗口的根目录。与其他视图控制器不同,标签栏界面不应该作为另一个视图控制器的子项安装。

将导航控制器放在选项卡内,并在选项卡上的导航控制器内部安装其他视图控制器。

答案 2 :(得分:0)

view.class返回一个类名作为字符串:

NSLog (@"Class:%@", view.class);