IOS Xcode Version 11.0 beta 6 删除Main.storyBoard

Xcode11 删除storyboard

Xcode 11中创建一个名为的新项目时,多了一个新类SceneDelegate:

删除main.storyboard  — 删除info.plist  storyboard name main   general 删掉 main interface 内main

不一样:之前在AppDelegate 

在screenDelegate.m 写入UIWindow

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

@implementation SceneDelegate

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

    

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

    self.window.backgroundColor = [UIColor whiteColor];

    ViewController *VC = [[ViewController alloc]init];

    NavihationViewController *NVC = [[NavihationViewController alloc]initWithRootViewController:VC];

    [self.window setRootViewController:NVC];

    [self.window makeKeyAndVisible];

}

@end

 

新的Xcode项目时,你会看到你的AppDelegate分为两部分:AppDelegate和SceneDelegate这是iPadOS带来的新的多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。

从iOS 13开始,您的应用代表应该:

  1. 设置应用程序期间所需的任何数据。
  2. 响应任何专注于应用的事件,例如与您共享的文件。
  3. 注册外部服务,例如推送通知。
  4. 配置您的初始场景。

相比之下,场景代表可以处理应用程序用户界面的一个实例。因此,如果用户创建了两个显示您的应用程序的窗口,则您有两个场景,均由同一个应用程序委托支持。

请记住,这些场景旨在彼此独立工作。因此,您的应用程序不再移动到后台,而是单个场景执行 - 用户可以将一个移动到后台,同时保持另一个打开。

在iOS 13中的新顶级对象是一个UIWindowScene

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章