代码之家  ›  专栏  ›  技术社区  ›  LolaRun

藏起来后无法显示nagivationbar

  •  0
  • LolaRun  · 技术社区  · 14 年前

    我在MixWOW.XIB中有以下内容

      • 列表项
    1. 选项卡栏控制器
      • 标签栏
      • 第二视图控制器

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
        navController.viewControllers = [NSArray arrayWithObject:tabBarController];
        [window addSubview:navController.view];
        [window makeKeyAndVisible];
        return YES;
    }
    

    现在在我写的第一个viewcontroller中

    -(void)loadView
    {
        if(rootAppDelegate==nil)
            rootAppDelegate=(tabbarAppDelegate *) [[UIApplication sharedApplication]delegate];
    
        listEmergencyItems= rootAppDelegate.listOfEmergencySectionItems;
        self.rootAppDelegate.navController.navigationBarHidden = NO;
        [super loadView];
    }
    

    在我写的第二个视图控制器中

    - (void)loadView
    {    
        if(rootAppDelegate==nil){
            rootAppDelegate=(tabbarAppDelegate *) [[UIApplication sharedApplication]delegate];
        }
        listHospitalsItems= self.rootAppDelegate.listOfHospitalsItems;
        self.rootAppDelegate.navController.navigationBarHidden = YES;
        [super loadView];
    }
    

    当我按下第二个标签栏时,我进入第二个视图,导航栏被隐藏。 但当我按回第一个选项卡栏项时,即返回到第一个viewcontroller。导航栏保持隐藏状态。

    知道吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   griotspeak    14 年前

    导航栏不会显示在第二个视图中,因为两个视图都没有放在导航控制器的堆栈上。您希望在父视图中使用类似的内容来呈现子视图,而不是重写loadView

        ViewToPresentViewController *myVController = [[ViewToPresentViewController alloc] initWithNibName:@"ViewToPresentViewController"
                                                                                                                    bundle:nil];
                myVController.property = someValue;
        [self.navigationController pushViewController:myVController
                                                     animated:YES];
        [myVController release];