zoukankan      html  css  js  c++  java
  • 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;

    }

     

  • 相关阅读:
    初探nodejs事件循环机制event loop
    夯实基础之--new关键字、instanceOf原理
    分享-结合demo讲解JS引擎工作原理
    Linux-centos安装node、nginx小记
    openlayers5实战--踩坑总结
    node+koa中转层开发实践总结
    vue预渲染实践总结
    css多行省略-webkit-box-orient打包编译后失效原因
    使用mpVue开发小程序实战总结
    Linux crontab定时执行任务
  • 原文地址:https://www.cnblogs.com/yuyu-2012/p/4821713.html
Copyright © 2011-2022 走看看