以全屏模式在 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) 在最终视图关闭之前。
我有一个 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) 在最终视图关闭之前。