Полноэкранный просмотр в watchOS с SwiftUI

Я не хочу отображать SwiftUI View как полноэкранный в watchOS (без кнопки отмены / возврата или часов)

Я пробовал добавить Sprite Kit Scene к виду, а также установив .edgesIgnoringSafeArea(.all) но я все еще могу скрыть их или поместить представление под верхнюю панель.

2 ответа

Решение

Если это не игра, вычеркнуть пространство вверху невозможно, watchOS резервирует его, чтобы время всегда было видно пользователю.

Оказывается, он "работает" даже со SwiftUI:

Использование Interface Builder: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.

Другие вопросы по тегам