TabView导航到任何交互的第一个选项卡

问题描述 投票:0回答:1

我有一个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模拟器特有的错误。

swift swiftui navigationview tabview swiftui-bug
1个回答
-1
投票

要解决您的问题,请在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")
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.