美文网首页
SceneDelegate

SceneDelegate

作者: MrStock | 来源:发表于2023-01-23 11:50 被阅读0次

    iOS13 Scene Delegate详解~https://www.jianshu.com/p/53e3252dc07e 

    上面有兼容iOS12及一下的方法

    下面是直接在新项目里做iOS13及以上版本的方法

    iOS13中appdelegate的职责发现了改变:

    iOS13之前,Appdelegate的职责全权处理App生命周期和UI生命周期;

    iOS13之后,Appdelegate的职责是:

    1、处理 App 生命周期

    2、新的 Scene Session 生命周期

    那UI的生命周期交给新增的Scene Delegate处理

    - (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {

        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.

        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.

        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).

        UIWindowScene *windowScene = (UIWindowScene *)scene;

        self.window = [[UIWindow alloc] initWithWindowScene:windowScene];

        self.window.frame = windowScene.coordinateSpace.bounds;

        UITabBarController *tabbarController = [[UITabBarController alloc] init];

        UIViewController *controller1 = [[UIViewController alloc] init];

        controller1.view.backgroundColor = [UIColor redColor];

        controller1.tabBarItem.title = @"新闻";

        UIViewController *controller2 = [[UIViewController alloc] init];

        controller2.view.backgroundColor = [UIColor yellowColor];

        controller2.tabBarItem.title = @"视频";

        UIViewController *controller3 = [[UIViewController alloc] init];

        controller3.view.backgroundColor = [UIColor blueColor];

        controller3.tabBarItem.title = @"推荐";

        UIViewController *controller4 = [[UIViewController alloc] init];

        controller4.view.backgroundColor = [UIColor greenColor];

        controller4.tabBarItem.title = @"我的";

        // 将四个页面的 UIViewController 加入到 UITabBarController 之中

        [tabbarController setViewControllers: @[controller1, controller2, controller3, controller4]];

        self.window.rootViewController = tabbarController;

        [self.window makeKeyAndVisible];

    }

    相关文章

      网友评论

          本文标题:SceneDelegate

          本文链接:https://www.haomeiwen.com/subject/aimlhdtx.html