2013-02-05 52 views
0

我在我的應用程序中有許多導航控制器和一個標籤欄控制器。現在我想檢查當前是否處於導航視圖或標籤欄視圖。我如何檢查我目前的視圖類。檢查rootviewcontroller的類型

NSString *className=self.window.rootViewController.description; 
NSLog(@"class name is %@ ",className); 

當我導航控制器上查看輸出是:

class name is <UINavigationController: 0x1cd78780> 

,當我標籤欄控制器,它打印

class name is <UITabBarController: 0x1cdbd8d0> 

我怎樣才能識別它們。提前致謝。

+0

是否將導航控制器嵌入到選項卡欄控制器中? – MaxGabriel

回答

3
Class rootClass = [self.window.rootViewController class]; 

if (rootClass == [UINavigationController class]) { 

} else if (rootClass == [UITabBarController class]) { 

} 
1

它很容易。您已經發現,現在您的UINavigationController是否只需從導航控制器獲取頂部視圖控制器

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