0

MGSplitViewControlleriPadアプリケーションに使用しています。

viewController私はそれに次のように追加しましたdetailViewController

my2ndVC *vc = [[my2ndVC alloc] init];
splitViewController.detailViewController = vc;

これで、navigationBarをに追加するときに完璧に機能しますmy2ndVC

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 448, 44)];

[self.view addSubview:navBar];

バーが表示されていません。

私はmy2ndVCこのように追加できることを知っています:

my2ndVC *vc = [[my2ndVC alloc] init]; 
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc];
splitViewController.detailViewController = navController;

しかし、ビューコントローラの1つにも条件があります。

if ([splitViewController.detailViewController isKindOfClass:[my2ndVC class]])

推奨される回避策は何ですか?

4

1 に答える 1

1

次のように状態を変更することはできません。

if ([splitViewController.detailViewController.topViewController isKindOfClass:[my2ndVC class]])

簡単にするには:

UINavigationController *aNavigationController = (UINavigationController *)splitViewController.detailViewController;
if ([aNavigationController.topViewController isKindOfClass:[my2ndVC class]]) {
    // TRUE...
}
于 2012-09-11T18:42:11.167 に答える