gpt4 book ai didi

ios - 在 SwiftUI 中从 TabView 获取所选标签索引的方法

转载 作者:行者123 更新时间:2023-12-04 04:17:35 44 4
gpt4 key购买 nike

我刚刚添加了 TabView,它工作正常,但如果它我无法获取选定的选项卡索引。
我想我的代码保持得很好,不知道出了什么问题。

struct DefaultTabbar: View {

@State private var selectedItem = 1
// @State private var homeTabIcon = "tab_home"

var body: some View {
TabView(selection: $selectedItem) {
FirstView()
.tabItem{
Image(systemName: "house")
Text("First Tab")
}
.tag(1)

SecondView()
.tabItem{
Image(systemName: "photo")
Text("Second Tab")
}
.tag(2)
}
.accentColor(.orange)
.onTapGesture {
print("selected tab: \(self.selectedItem)")
}
}
}

我在切换标签时只收到 0。
所选标签:0。
所选标签:0。

最佳答案

您可以对每个选项卡使用 onAppear 方法。它看起来很丑,但它的工作原理。

struct DefaultTabbar: View {

var lastSelectedTab = 0 {
didSet {

}
}
@State private var selectedItem = 1

var body: some View {
TabView(selection: $selectedItem) {
FirstView()
.onAppear(perform: {
lastSelectedTab = 0
})
.tabItem{
Image(systemName: "house")
Text("First Tab")
}
.tag(1)

SecondView()
.onAppear(perform: {
lastSelectedTab = 1
})
.tabItem{
Image(systemName: "photo")
Text("Second Tab")
}
.tag(2)
}
.accentColor(.orange)
}
}

关于ios - 在 SwiftUI 中从 TabView 获取所选标签索引的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60302920/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com