gpt4 book ai didi

ios - SwiftUI 如何在 PageTabViewStyle 中跟踪页面索引?

转载 作者:行者123 更新时间:2023-12-05 00:23:16 25 4
gpt4 key购买 nike

我试图在 TabView 中跟踪用户所在的页面即 PageTabViewStyle在 SwiftUI 中,但我想不出跟踪页面索引的最佳方法?使用 .onAppear效果不佳,因为它被多次调用,即使不在屏幕上,第 2 页和第 3 页也会被调用。 🤔

@State var pageIndex = 0

var body: some View {
VStack {
Text("current page = \(0) ")
TabView {
Text("First")
.onAppear {
pageIndex = 0
}
Text("Second")
.onAppear {
pageIndex = 1
}
Text("Third")
.onAppear {
pageIndex = 2
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
}
}
}

最佳答案

您可以通过 selection绑定(bind)到 TabView并使用 tag识别页面:

struct ContentView: View {
@State var pageIndex = 0

var body: some View {
VStack {
Text("current page = \(pageIndex) ")
TabView(selection: $pageIndex) {
Text("First").tag(0)
Text("Second").tag(1)
Text("Third").tag(2)
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
}
}
}
请注意,在您的原始代码中,它总是说当前页面 = 0,因为您没有插入 pageIndex变量到字符串中

关于ios - SwiftUI 如何在 PageTabViewStyle 中跟踪页面索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66522094/

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