我在TabView
中有一个SwiftUI
,并希望在启动应用程序时将第二个选项卡作为默认选项卡。
我还没有找到任何文档来提供这种行为,但是应该可以的。大多数应用程序将“中间”标签作为其默认标签。
TabView {
QuestionView()
.tabItem {
Image(systemName: "questionmark")
Text("Questions")
}
DataView()
.tabItem {
Image(systemName: "chart.bar.fill")
Text("Data")
}
Text("Empty Tab right now")
.tabItem {
Image(systemName: "bolt.horizontal.fill")
Text("Trend")
}
}
答案 0 :(得分:3)
@State private var selection = 3
TabView(selection:$selection) {
QuestionView()
.tabItem {
Image(systemName: "questionmark")
Text("Questions")
}
.tag(1)
DataView()
.tabItem {
Image(systemName: "chart.bar.fill")
Text("Data")
}
.tag(2)
Text("Empty Tab right now")
.tabItem {
Image(systemName: "bolt.horizontal.fill")
Text("Trend")
}
.tag(3)
}
在这种情况下,我设置默认选择第三个Tab
。将selection
更改为所需的Tab
。
答案 1 :(得分:1)
使用默认值定义State
并将其绑定到TabView
:
@State var selection = 1
,,,
TabView(selection: $selection)
,,,
然后为每个tag
分配一个tabItem
:
,,,
.tabItem {
Image(systemName: "bolt.horizontal.fill")
Text("Trend")
}.tag(1)
,,,
现在您可以一起使用它们,selection
=== tag