使用 SwiftUI 的 TabbedView 切换到其他选项卡时不显示查看内容
Views content not showing on switching to other tabs using TabbedView of SwiftUI
我正在通过参考 https://developer.apple.com/documentation/swiftui/tabview
使用 SwiftUI
框架实现 TabbedView
当运行在模拟器上时,只有第一个选项卡视图内容显示,其他选项卡内容不显示。即使重启 XCode、模拟器等
应用视频 link:https://youtu.be/Gibu8jfQQ5I
struct ContentView : View {
var body: some View {
TabbedView {
Text("The First Tab")
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
Text("Another Tab")
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab")
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}.font(.headline)
}
}
感谢您的帮助和建议!
在 beta 5 中,您的代码有效,而且 TabbedView
已重命名为 TabView
。如果您还不能升级到 beta 5,要解决您在 beta 4 中的问题,您需要在每个视图中添加 .tag(n)
:
struct ContentView : View {
var body: some View {
TabbedView {
Text("The First Tab").tag(1)
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
Text("Another Tab").tag(2)
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab").tag(3)
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}.font(.headline)
}
}
我正在通过参考 https://developer.apple.com/documentation/swiftui/tabview
使用SwiftUI
框架实现 TabbedView
当运行在模拟器上时,只有第一个选项卡视图内容显示,其他选项卡内容不显示。即使重启 XCode、模拟器等
应用视频 link:https://youtu.be/Gibu8jfQQ5I
struct ContentView : View {
var body: some View {
TabbedView {
Text("The First Tab")
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
Text("Another Tab")
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab")
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}.font(.headline)
}
}
感谢您的帮助和建议!
在 beta 5 中,您的代码有效,而且 TabbedView
已重命名为 TabView
。如果您还不能升级到 beta 5,要解决您在 beta 4 中的问题,您需要在每个视图中添加 .tag(n)
:
struct ContentView : View {
var body: some View {
TabbedView {
Text("The First Tab").tag(1)
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
Text("Another Tab").tag(2)
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab").tag(3)
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}.font(.headline)
}
}