为什么在 SwiftUI 中抛出错误,因为“'windows' 在 iOS 15.0 中已被弃用:在相关的 window 场景中使用 UIWindowScene.windows 而不是”?
Why it is throw an error as "'windows' was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene instead" in SwiftUI?
我在 SwiftUI 2.0 中有一个项目,但是当我更新到 SwiftUI 3.0 时,它抛出一个错误
windows
作为
windows' was deprecated in iOS 15.0: Use UIWindowScene.windows on a
relevant window scene instead
有什么想法吗?
.padding(.top, UIApplication.shared.windows.first?.safeAreaInsets.top)
嗯,警告消息非常充分地反映了问题的本质。
Apple 确实弃用了 UIApplication.shared.windows
,因此要修复您的警告,您应该使用:
而不是 UIApplication.shared.windows.first?
UIApplication
.shared
.connectedScenes
.flatMap { ([=10=] as? UIWindowScene)?.windows ?? [] }
.first { [=10=].isKeyWindow }
然后,您的 .padding
视图修饰符将如下所示:
.padding(.top, UIApplication
.shared
.connectedScenes
.flatMap { ([=11=] as? UIWindowScene)?.windows ?? [] }
.first { [=11=].isKeyWindow }?.safeAreaInsets.top)
我在 SwiftUI 2.0 中有一个项目,但是当我更新到 SwiftUI 3.0 时,它抛出一个错误
windows
作为
windows' was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene instead
有什么想法吗?
.padding(.top, UIApplication.shared.windows.first?.safeAreaInsets.top)
嗯,警告消息非常充分地反映了问题的本质。
Apple 确实弃用了 UIApplication.shared.windows
,因此要修复您的警告,您应该使用:
UIApplication.shared.windows.first?
UIApplication
.shared
.connectedScenes
.flatMap { ([=10=] as? UIWindowScene)?.windows ?? [] }
.first { [=10=].isKeyWindow }
然后,您的 .padding
视图修饰符将如下所示:
.padding(.top, UIApplication
.shared
.connectedScenes
.flatMap { ([=11=] as? UIWindowScene)?.windows ?? [] }
.first { [=11=].isKeyWindow }?.safeAreaInsets.top)