如何以编程方式添加UITabBarController& AppDelegate中的UINavigationController?

时间:2014-10-01 00:58:15

标签: ios objective-c uinavigationcontroller uitabbarcontroller appdelegate

如何添加UINavigationController&以编程方式在app delegate中UITabBarController

1 个答案:

答案 0 :(得分:10)

请勿在AppDelegate.h文件中忘记添加:

@property (strong, nonatomic) UITabBarController *tabBarController;

以下是AppDelegate.m

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

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

    ViewController1 *VC1 = [[ViewController1 alloc] init];
    VC1.title = @"Tab Title Here";
    UINavigationController *VC1Navigation = [[UINavigationController alloc]
                                                initWithRootViewController:VC1];

    ViewController2 *VC2 = [[ViewController2 alloc] init];
    VC2.title = @"Tab Title Here";
    UINavigationController *VC2Navigation = [[UINavigationController alloc]
                                                initWithRootViewController:VC2];

    ViewController3 *VC3 = [[ViewController3 alloc] init];
    homeView.title = @"Tab Title Here";
    UINavigationController* VC3Navigation = [[UINavigationController alloc]
                                             initWithRootViewController:VC3];

    NSArray* controllers = [NSArray arrayWithObjects:VC1Navigation, VC2Navigation, VC3Navigation, nil];
    self.tabBarController.viewControllers = controllers;

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}