Gar*_*abo 10 ios swift swiftui swiftui-tabview
我试图跟踪用户在 SwiftUI 中所在的页面,TabView
但PageTabViewStyle
我无法找出跟踪页面索引的最佳方法?using.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))
}
}
}
Run Code Online (Sandbox Code Playgroud)
jn_*_*pdx 16
您可以将绑定selection
传递给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))
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,在您的原始代码中,它总是会说当前页= 0,因为您没有将变量插入pageIndex
到字符串中
归档时间: |
|
查看次数: |
6798 次 |
最近记录: |