gpt4 book ai didi

swiftui - 如何在 IOS14 中使用多个 fullScreenCover

转载 作者:行者123 更新时间:2023-12-03 18:20:40 25 4
gpt4 key购买 nike

我想从一个 View 以全屏模式显示两个目的地 View 。
下面是我的代码示例。似乎该功能仅适用于单个演示文稿,如果我定义了第二个 fullScreenCover,第一个 fullScreenCover 无法正常工作。目前有什么解决方法吗?

import SwiftUI

struct TesFullScreen: View {



init(game : Int){
print(game)
}


var body: some View {
Text("Full Screen")
}
}
内容 View
 import SwiftUI
struct ContentView: View {

@State var showFullScreen1 : Bool = false
@State var showFullScreen2 : Bool = false

var body: some View {
NavigationView {
VStack {
Spacer()
Button(action: { self.showFullScreen1 = true }) {
Text("Show Full Screen 1")
}
Button(action: { self.showFullScreen2 = true }) {
Text("Show Full Screen 2")
}
Spacer()
}
.navigationBarTitle("TextBugs", displayMode: .inline)
}
.fullScreenCover(isPresented: self.$showFullScreen1){
TesFullScreen(game: 1)
}
.fullScreenCover(isPresented: self.$showFullScreen2){
TesFullScreen(game: 2)
}
}
}

最佳答案

并非总是接受的答案有效(例如,如果您有一个带有 subview (以前的单元格)的 ScrollView,它包含按钮,设置导航标志。
但我发现,您也可以将 fullScreen-modifier 添加到 EmptyView。这段代码对我有用:

   // IMPORTANT: Has to be within a container (e.g. VStack, HStack, ZStack, ...)

if myNavigation.flag1 || myNavigation.flag2 {

EmptyView().fullScreenCover(isPresented: $myNavigation.flag1)
{ MailComposer() }

EmptyView().fullScreenCover(isPresented: $myNavigation.flag2)
{ RatingStore() }
}

关于swiftui - 如何在 IOS14 中使用多个 fullScreenCover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64057026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com