我的iPad应用程序使用的是MGSplitViewController

我以这种方式在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;


但是然后我的一个视图控制器中也有一个条件:

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


建议的解决方法是什么?

最佳答案

不能按如下方式更改条件:

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


使它更简单:

UINavigationController *aNavigationController = (UINavigationController *)splitViewController.detailViewController;
if ([aNavigationController.topViewController isKindOfClass:[my2ndVC class]]) {
    // TRUE...
}

关于ios - 导航栏未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12375803/

10-13 01:42