以全屏模式在 SwiftUI 中呈现模态并防止关闭它

Present modal in SwiftUI in full screen mode and prevent closing it

我有一个 SplashView 作为起始视图并以模式打开游戏屏幕。

我只是试图在 iPad 而不是 iPhone 中打开游戏,而且视图看起来很奇怪。

当我切换到游戏屏幕时,屏幕显示为中间的小屏幕,我可以将其滑出以将其关闭。逻辑中的其他屏幕堆叠在此屏幕上。

如何防止堆叠并全屏显示所有屏幕,类似于我在 iPhone 上打开它并防止通过滑动移动它们?

  .sheet(isPresented: $isPlayerDashboardModal) {
                if let playerState = PlayerViewModel.createNewGameData(name: playerName) {
                    let playerViewModel = PlayerViewModel(player: playerState)
                    CityView(viewModel: playerViewModel)
                }
            }.frame(minWidth: DeviceTypes.ScreenSize.width, idealWidth: DeviceTypes.ScreenSize.width, maxWidth: DeviceTypes.ScreenSize.width, minHeight: DeviceTypes.ScreenSize.height, idealHeight: DeviceTypes.ScreenSize.height, maxHeight: DeviceTypes.ScreenSize.height, alignment: .center)
            

我已经将帧设置为最大,但这似乎没有任何作用。

将.sheet替换为.fullScreenCover,保证window是全屏的,无法下拉关闭。 要在 iPad 上隐藏状态栏,请包括:.statusBar(hidden: true) 在最终视图关闭之前。