ios - 在 Swift 2.0 中隐藏主页指示器

标签 ios swift swiftui

我希望隐藏 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/

相关文章:

ios - 为什么 iOS 将以下内容视为 NSDictionary 而不是数组?

ios - 是否可以将 ViewController 分配给 SwiftUI View ?

tooltip - SwiftUI : How do you display a tooltip/hint on hover?

SwiftUI 实现自定义 NavigationViewStyle

ios - React Native ScrollView双向滚动

ios - Swift 中的左对齐垂直 UILabel

objective-c - 在IOS上播放视频

swift - 弹出模式中的中心堆栈 View

ios - 动态调整 xib 大小

ios - SwiftUI 中的动态转换