Iphone Xcode 4中的mainwindow.xib不知道如何让TabBarController使用NavigationController

Iphone Xcode 4中的mainwindow.xib不知道如何让TabBarController使用NavigationController,iphone,tabbarcontroller,Iphone,Tabbarcontroller,这在Xcode 3中非常简单。但我完全迷恋于Xcode 4。*看起来根本没有使用IB。所有的TabBarController代码都在代码中 问题:如何将NavigationBarController添加到使用TabBarController模板时Xcode生成的默认代码中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //

这在Xcode 3中非常简单。但我完全迷恋于Xcode 4。*看起来根本没有使用IB。所有的TabBarController代码都在代码中

问题:如何将NavigationBarController添加到使用TabBarController模板时Xcode生成的默认代码中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];

UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

self.tabBarController = [[UITabBarController alloc] init];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];

self.window.rootViewController = self.tabBarController;

[self.window makeKeyAndVisible];

return YES;

}

您可以手动添加MainWindow.xib文件(新建文件->空界面生成器文档),然后在apps Info.plist中添加一个名为“Main nib file base name”的键,并将其值设置为“MainWindow”


在应用程序委托中,将窗口和UINavigationController设置为IBOutlets,并删除生成它们的代码。然后在MainWindow.xib文件中添加应用程序委托的实例、UINavigationController和窗口。将UINavigationController和窗口连接到代理的出口。

正如有人提到的,您可以添加
xib
文件,并配置应用程序以使用它。这是代码版本,如果你决定走这条路,最好知道哪一条路

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UIViewController *viewController1 = [[FirstViewController alloc] init];
    UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
    [viewController1 release]; viewController1 = nil;

    UIViewController *viewController2 = [[SecondViewController alloc] init];
    UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:viewController2];
    [viewController2 release]; viewController2 = nil;

    self.tabBarController = [[UITabBarController alloc] init];

    NSArray *viewController = [[NSArray alloc] initWithObjects:navigationController1, navigationController2, nil];
    [navigationController1 release]; navigationController1 = nil;
    [navigationController2 release]; navigationController2 = nil;

    self.tabBarController.viewControllers = viewControllers;
    [viewControllers release]; viewControllers = nil;

    self.window.rootViewController = self.tabBarController;

    [self.window makeKeyAndVisible];

    return YES;
}

这是在浏览器中编写的,但应该可以使用。

嗨,哇,两个答案都正确。我现在要走密码路线。