我有一个TabView,在与其他两个标签中的内容进行任何交互时,它始终会导航到第一个标签。与第一个选项卡中的内容进行交互没有问题。我可以正常浏览该标签。与其他两个选项卡的tabItems交互可以很好,但是当我在它们之间进行交互时,它就会导航回到选项卡1。(有趣的是,我可以滚动,但是当我释放它时,它可以导航)
更新1:
我将其剥离下来,问题仍然在发生!这是代码:
import SwiftUI
struct ContentView: View {
var body: some View {
TabView() {
Text("Tab 1")
.tabItem {
Image(systemName: "circle")
Text("Tab 1")
}
Text("Tab 2")
.tabItem {
Image(systemName: "square")
Text("Tab 2")
}
Text("Tab 3")
.tabItem {
Image(systemName: "triangle")
Text("Tab 3")
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
我创建了一个空白的新单视图项目并将其粘贴到ContentView.swift中
Xcode 11.5运行iOS 13.5的模拟器iPhone 8
更新2:我刚刚在运行iOS 13.5.1的物理iPhone 8上运行了我的完整应用程序和上面的示例,并且一切正常。我想知道这是否是模拟器错误。
更新3:在没有问题的模拟iPhone 11 Pro上运行相同的应用程序。看来这可能是iPhone 8模拟器特有的错误。
要解决您的问题,请在tag
中为每个View
添加TabView
。
struct ContentView: View {
var body: some View {
TabView() {
Text("Tab 1")
.tag(0)
.tabItem {
Image(systemName: "circle")
Text("Tab 1")
}
Text("Tab 2")
.tag(1)
.tabItem {
Image(systemName: "square")
Text("Tab 2")
}
Text("Tab 3")
.tag(2)
.tabItem {
Image(systemName: "triangle")
Text("Tab 3")
}
}
}
}