我希望隐藏 Home Indicator,虽然这在 Swift 中很简单,但在 SwiftUI 中似乎并不那么容易。
我试图使用这个:
How to hide the home indicator with SwiftUI?
但是随着 SceneDelegate 的删除,我太不成熟了,不知道如何为新的应用程序协议(protocol)正确地转换它。
有人有什么想法吗?
担
最佳答案
这是替换默认值 WindowGroup
的可能方法带有任何自定义 Controller 的窗口的托管 Controller (在这种情况下没有主页指示器)。
辅助扩展取自之前提供的解决方案 https://stackoverflow.com/a/63276688/12299030 .
使用 Xcode 12/iOS 14 测试
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor(MyAppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
Text("") // << temporary placeholder
.withHostingWindow { window in
let contentView = ContentView().environmentObject(SomeObservableObject())
window?.rootViewController =
HideHomeIndicatorController(rootView: contentView)
}
}
}
}
和托管 Controller 的简化变体以隐藏主页指示器class HideHomeIndicatorController<Content:View>: UIHostingController<Content> {
override var prefersHomeIndicatorAutoHidden: Bool {
true
}
}
关于ios - 在 Swift 2.0 中隐藏主页指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64616155/