UINavigationController

UINavigationController

大家好,我是 iPhone 开发的新手,我不了解整个 UINavigationController 和 UITabBarController 的想法。一个是另一个的替代品 - Tweetie 等应用程序如何将两者结合起来?

我想让我的应用程序在底部有一个持久的标签栏(这似乎正在工作),但顶部还有一个导航栏,可以在不删除标签栏的情况下将 View 推送/弹出到屏幕上。

  • 我怎样才能做到这一点?
  • 就所有这些 Controller 而言,就我的 MainWindow.xib 而言,IB 中的层次结构应该是什么样的?
  • 这里的最佳实践是什么?

  • 非常感谢,

    最佳答案

    只需将 View Controller 包装在UINavigationController内,然后将UINavigationController放在UITabBar内。
    这对您来说很好...

    例子:

    NSMutableArray *tabBarViewControllers = [[NSMutableArray alloc] initWithCapacity:2];
    
    tabBarController = [[UITabBarController alloc] init];
    [tabBarController setDelegate:self];
    
    UINavigationController *navigationController = nil;
    navigationController = [[UINavigationController alloc] initWithRootViewController:<Your View controller1>];
    [tabBarViewControllers addObject:navigationController];
    [navigationController release];
    navigationController = nil;
    
    navigationController = [[UINavigationController alloc] initWithRootViewController:<Your View controller2>];
    [tabBarViewControllers addObject:navigationController];
    [navigationController release];
    navigationController = nil;
    
    tabBarController = tabBarViewControllers;
    [tabBarViewControllers release];
    tabBarViewControllers = nil;
    

    关于iphone - 在应用程序中有UITabBar和UINavigationController吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2339177/

    10-13 08:31