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

代码为uinavigationcontroller的uitabar

  •  1
  • Rudiger  · 技术社区  · 14 年前

    我现在有一个Uitabar5屏幕调用uiviews。这部分工作得很好,但我想把一个uinavigationcontroller放在其中的一对中。我发现一些教程可以很好地工作,但是所有的教程都在ib中实现它,如果可能的话,我想避免这种情况。

    我不知道在哪里实现uinavigationController,我应该在应用程序委托中用uitabar实现它并从uiview调用导航控制器,还是应该在uiview类中创建它?

    我尝试过8种不同的方法,结果总是要么导航条不工作,要么根本没有导航条,要么应用程序崩溃。

    目前我创建的标签栏如下:

    tabBarController = [[UITabBarController alloc] init];
    ScreenA *screenA = [[ScreenA alloc] initWithNibName:@"ScreenA" bundle:nil];
    //more here
    tabBarController.viewControllers = [NSArray arrayWithObjects:screenA, ...., nil];
    [window addSubview:tabBarController.view];
    

    在initwithnibname中,我有:

    self.title = @"Screen A";
    self.tabBarItem.image = [UIImage imageNamed:@"someImage.png"];
    
    1 回复  |  直到 13 年前
        1
  •  5
  •   Andiih    14 年前

    好吧,这样做……

        tabBarController = [[UITabBarController alloc] init];    

    searchTableViewController = [[SearchTableViewController alloc] init];
        UINavigationController *searchTableNavController = [[[UINavigationController alloc] initWithRootViewController:searchTableViewController] autorelease];
    [searchTableViewController release];                                                              
    
    searchMapViewController = [[SearchMapViewController alloc] init];   
    UINavigationController *mapTableNavController = [[[UINavigationController alloc] initWithRootViewController:searchMapViewController] autorelease];
    [searchMapViewController release];                                                    
    
    
    tabBarController.viewControllers = [NSArray arrayWithObjects:searchTableNavController, mapTableNavController, nil];