SwiftUI TabbedView仅显示第一个标签的内容

时间:2019-06-06 22:04:39

标签: ios swift swiftui

我正在尝试使用以下简单代码构建TabbedView

TabbedView {
    Text("Hello world")
        .tabItemLabel(Text("Hello"))
    Text("Foo bar")
        .tabItemLabel(Text("Foo"))
}

运行时,两个选项卡均可见并启用,但第二个选项卡(“ Foo”)的内容为空白。

6 个答案:

答案 0 :(得分:19)

尝试添加标签:

        map.addLayer(
                "type": fill
                "filter": ["==", "$type", "Polygon"]
                 )

         map.addLayer(
                "type": line
                "filter": ["==", "$type", "LingString"]
                 )

         map.addLayer(
                "type": Circle, // or symbol
                "filter": ["==", "$type", "Point"]
                 )

答案 1 :(得分:1)

我能够通过添加一个PairRDD状态变量并将其传递给选择内容来解决此问题:

selection

现在,点击“制表2”将显示“制表2!”。在屏幕上,而不是在空白屏幕上。

这是使用Xcode 11.0 beta 2(11M337n),macOS Catalina 10.15 Beta(19A487l)。

答案 2 :(得分:1)

在最新版本中,您应该使用TabView

   TabView {
        AnyView()
            .tabItem {
                Text("Label 1")
            }
        AnyView()
            .tabItem {
                Text("Label 2")
            }
    }

答案 3 :(得分:1)

在Xcode GM中,TabbedView重命名为TabView。因此,这是立即在SwiftUI中创建标签栏的正确方法:

  TabView {
        Text("Hello world")
            .tabItem { Text("Hello") }
            .tag(0)
        Text("Foo bar")
            .tabItem { Text("Foo") }
            .tag(1)
    }

答案 4 :(得分:0)

//以这种方式尝试,但是您不能使用SF Symbols中的图标,请使用//icons8.com中的图标 struct ContentView:查看{

var body:一些视图{

TabbedView {                         Living_R()

                        .tabItemLabel(VStack {
                            Image("home")
                            Text("Home")
                          }).tag(0)

                    ContentView()
                        .tabItemLabel(VStack {
                            Image("search")
                            Text("Search")
                        }).tag(1)

                        Text("Info")
                        .tabItemLabel(VStack {
                            Image("page")
                            Text("Doc")
                        }).tag(2)

        }
      }    
    }

答案 5 :(得分:0)

//以这种方式尝试,但是您不能使用SF Symbols中的图标,也不能使用//icons8.com或其他平台中的图标。或观看本教程https://www.youtube.com/watch?v=3PfCU5h5z94

                 struct ContentView : View {

                 var body : some View {

                     TabbedView {

                         Living_R()
                        .tabItemLabel(VStack {
                            Image("home")
                            Text("Home")
                          }).tag(0)

                    ContentView()
                        .tabItemLabel(VStack {
                            Image("search")
                            Text("Search")
                        }).tag(1)

                        Text("Info")
                        .tabItemLabel(VStack {
                            Image("page")
                            Text("Doc")
                        }).tag(2)
           }   
        }    
    }