【问题标题】:Fullscreen view in watchOS with SwiftUI带有 SwiftUI 的 watchOS 中的全屏视图
【发布时间】:2020-02-08 17:22:01
【问题描述】:

我不想在watchOS 中将 SwiftUI View 显示为全屏(没有取消/返回按钮或时钟)

我尝试在视图中添加Sprite Kit Scene 并设置.edgesIgnoringSafeArea(.all),但我仍然可以隐藏它们或在顶部栏下放置一个视图。

【问题讨论】:

    标签: watchkit swiftui watchos-6


    【解决方案1】:

    事实证明它确实“有效”,即使使用 SwiftUI:

    使用界面生成器: https://developer.apple.com/documentation/watchkit/wkinterfaceskscene/configuring_a_watchkit_scene_in_a_storyboard

    使用 SwiftUI(watchOS 7):

    @main
    struct BitApp: App {
      @SceneBuilder var body: some Scene {
        WindowGroup {
          ContentView()
            .edgesIgnoringSafeArea(.all)
        }
    
        WKNotificationScene(controller: NotificationController.self, category: "myCategory")
      }
    }
    

    删除任何NavigationView 并使用edgesIgnoringSafeArea 并且它有效!

    编辑:它不会移除时钟,因为它会被定位在 SpriteKit 场景前面的角落。

    【讨论】:

    • 使用只适用于SpriteKit或SceneKit的Interface Builder,试试看。我已经编辑了我的答案以反映这一点。
    • 这应该是公认的答案。
    【解决方案2】:

    除非是游戏,否则不可能去掉顶部的空间,watchOS 会保留它,以便用户始终可以看到时间。

    【讨论】:

    • 在情节提要中,我可以为手表选择“全屏”。现在这在 swiftUI 中是不可能的吗?
    猜你喜欢
    • 2021-06-04
    • 2019-10-26
    • 2021-11-20
    • 1970-01-01
    • 2019-10-20
    • 2020-08-15
    • 2020-10-19
    • 1970-01-01
    相关资源
    最近更新 更多