0

アプリには多くのナビゲーションコントローラーと1つのタブバーコントローラーがあります。次に、現在ナビゲーションビューまたはタブバービューのどちらを使用しているかを確認します。現在のビュークラスを確認するにはどうすればよいですか。

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

ナビゲーションコントローラービューを使用している場合、出力は次のようになります。

class name is <UINavigationController: 0x1cd78780>

そして、私がタブバーコントローラーにいるとき、それは印刷します

class name is <UITabBarController: 0x1cdbd8d0>

どうすればそれらを認識できますか。前もって感謝します。

4

2 に答える 2

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

if (rootClass == [UINavigationController class]) {

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

}
于 2013-02-05T06:35:25.817 に答える
1

それは簡単です。その UINavigationController が必要なのは、ナビゲーションコントローラーからトップビューコントローラーを取得することだけであるかどうかはすでにわかりました

NSString *className = navigationController.topViewController.description;
NSLog(@"class name is %@ ",className);
于 2013-02-05T06:38:40.373 に答える