IOS AppDelegate设置Root页面

1.最简单的只有一个控制器的root页面(不用默认的storyrboard)

AppDelegate.m

 

#import "AppDelegate.h"

#import "KCMainViewController.h"

 

@interface AppDelegate ()

 

@end

 

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

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

    KCMainViewController *mainView = [[KCMainViewController alloc]initWithNibName:@"KCMainViewController" bundle:nil];

    _window.rootViewController = mainView;

    [_window makeKeyAndVisible];

    return YES;

}

2.用Navigation设置的多个控制器的root页面

1)AppDelegate.h

 

#import <UIKit/UIKit.h>

 

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) UINavigationController *navigationController;

@end

 

2)AppDelegate.m

 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

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

    self.window.backgroundColor = [UIColor whiteColor];

    

    RegisterViewController *masterViewController = [[RegisterViewController alloc]initWithNibName:@"RegisterViewController" bundle:nil];

    _navigationController = [[UINavigationController alloc]initWithRootViewController:masterViewController];

    [_window addSubview:_navigationController.view];

    

    [self.window makeKeyAndVisible];

}

这里多说点页面跳转的事情,如果用navigation,就是用代理的navigationController的pushViewController方法把新的controller放到导航的栈里,运用“后进先出”的原理,切换页面。

 

3.使用TabBar设置Root控制器

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

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

    

    GGTabBarController *tabBar = [[GGTabBarController alloc] init];

    

    TestViewController1 *vc1 = [[TestViewController1 alloc] init];

//    vc1.tabBarItem.title = @"花时间";??

//    vc1.tabBarItem.badgeValue = @"12";

    TestViewController2 *vc2 = [[TestViewController2 alloc] init];

    TestViewController3 *vc3 = [[TestViewController3 alloc] init];

    

    

    tabBar.viewControllers = @[vc1, vc2, vc3];

    self.window.rootViewController = tabBar;

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];

    

    

    return YES;

}

 

原文地址:https://www.cnblogs.com/yuyu-2012/p/4821713.html