无法在一个视图中使用2个弹出式菜单。

我在Xcode 11.4.1中创建了一个新的单视图App,使用Swift和SwiftUI。该项目有2个按钮,可以选择显示popover 1或popover 2。我没有收到任何错误,但只有popover 2工作。我的代码如下。

我试过重新安排弹出式代码的位置,但没有什么不同。如果popover 1代码出现在popover 2代码之后,那么只有popover 1工作(而不是只有popover 2工作)。

import SwiftUI

struct ContentView: View {

    @State var popover1IsVisible = false
    @State var popover2IsVisible = false

    var body: some View {
        VStack {
            Button(action: {
                self.popover1IsVisible = true
            }) {
                Text("Show Popover 1")
            }

            Button(action: {
                self.popover2IsVisible = true
            }) {
                Text("Show Popover 2")
            }
        }

        .popover(isPresented: $popover1IsVisible) {
            VStack {
                Text("Popover1")
                Button(action: {
                    self.popover1IsVisible = false
                }) {
                    Text("OK")
                }
            }
        }

        .popover(isPresented: $popover2IsVisible) {
            VStack {
                Text("Popover 2")
                Button(action: {
                    self.popover2IsVisible = false
                }) {
                    Text("OK")
                }
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

解决方案:

你不能在一个视图(VStack)中附加两个弹出式窗口。将每个popover附加到不同的视图上。你可以附加 .popoverButton.

给TA打赏
共{{data.count}}人
人已打赏
未分类

我们如何在VB.net中创建控制阵列

2022-9-13 14:29:27

未分类

为什么JavaScript Promise.all不能解析承诺?

2022-9-13 14:29:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索