日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xcode11 后Appdelegate自定义UIWindow对象失败详解。

發布時間:2025/3/12 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xcode11 后Appdelegate自定义UIWindow对象失败详解。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Xcode11前我們可以在AppDelegate的鉤子didFinishLaunchingWithOptions進行自定義UIWindow對象。但是Xcode11后自定義UIWindow會報錯無法啟動APP。
是因為iOS13中AppDelegate的職責發生了改變: iOS13之前,AppDelegate全權處理App生命周期和UI生命周期;
iOS13之后,AppDelegate的職責是: 1、處理 App 生命周期 2、新的 Scene Session 生命周期 那UI的生命周期交給新增的Scene Delegate處理, AppDelegate不在負責UI生命周期,所有UI生命周期交給SceneDelegate處理。所以我們需要在SceneDelegate的scene鉤子進行自定義UIWindow初始化。

1.首先我們不僅要刪除info.plist中的Main storyboard file base name還需要刪除Application Scene Manifest下的Storyboard Name。具體看圖

2.然后在 SceneDelegate 中進行初始化UIWindow.

// SceneDelegate.m- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {- (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).self.window = [[UIWindow alloc] initWithWindowScene:(UIWindowScene* )scene];self.window.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);// 初始化跟視圖UIViewController* ROOTVC = [[ViewController alloc] init];// 初始化層級導航控制UINavigationController* ROOTNavigation = [[UINavigationController alloc]initWithRootViewController:ROOTVC];self.window.rootViewController = ROOTNavigation;// 顯示[self.window makeKeyAndVisible]; } }

總結

以上是生活随笔為你收集整理的Xcode11 后Appdelegate自定义UIWindow对象失败详解。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。