SwiftUI actionSheet转换为.tabItem

时间:2019-11-25 07:51:51

标签: swiftui tabitem actionsheet

我正在尝试将actionSheet插入.tabItem的action按钮中。我只看到带有文本“ Test 1”的视图。不能显示带有不同选项的菜单吗?预先感谢。

@State var showActionSheet = false

...

var actionSheet : ActionSheet{

    ActionSheet(title: Text("Crear"), message: Text("Selecciona opción"), buttons: [
        .default(Text("Opción 1")),
        .default(Text("Opción 2")),
        .destructive(Text("Cancel"))
    ])
}

...

        }.tag(1)

            Text("Test 1")

            .tabItem {
                VStack {
                    Image(systemName: "1.circle")


                    Button(action: {
                        self.showActionSheet.toggle()
                    }) {
                        Text("Display Action Sheet")
                    }
                    .actionSheet(isPresented: $showActionSheet, content: {
                        self.actionSheet  })

                }

1 个答案:

答案 0 :(得分:0)

与Apple says一样:

  

选项卡视图仅支持文本,图像或图像后跟文本的选项卡项。传递任何其他类型的视图都会导致可见但空的选项卡项。

您可以使用我描述的here解决方案。很快:您将创建一个空的tabItem(Text(" ")),在所需位置设置Image并使用.onTapGesture。在那里,我还用ActionSheet

做了一个例子