swiftui 点击按钮返回到解析json后 指定的行数
时间: 2023-11-23 18:07:16 浏览: 81
swift JSON解析
在SwiftUI中,您可以使用NavigationView和NavigationLink来实现导航功能。在导航链中,可以使用tag属性来标识每个目标视图,并使用selection属性来指定当前选定的目标视图。
因此,您可以将解析JSON数据的视图作为导航链的起始点,并将其作为tag属性值传递给目标视图。然后,在目标视图中,您可以使用selection属性将选定的目标视图设置为解析JSON数据的视图的标签值。
以下是一个示例代码,演示如何实现此功能:
```swift
struct ContentView: View {
@State private var selection: Int? = nil
var body: some View {
NavigationView {
List {
ForEach(0..<5) { index in
NavigationLink(destination: DetailView(selection: self.$selection), tag: index, selection: self.$selection) {
Text("Row \(index)")
}
}
}
}
}
}
struct DetailView: View {
@Binding var selection: Int?
var body: some View {
VStack {
Text("Detail View")
Button(action: {
// 返回到第三行
self.selection = 2
}) {
Text("Go Back")
}
}
}
}
```
在此示例中,ContentView包含一个导航链,其中包含5个行。在每个行中,都有一个标识该行的标签值,并且该标签值作为导航链接的tag属性传递给目标视图。
DetailView是目标视图,其中包含一个返回按钮,当用户点击该按钮时,将会返回到解析JSON数据的视图的第三行。为了实现此功能,DetailView包含一个绑定到ContentView中选定标签的绑定变量selection,并在按钮操作中将其设置为2。
因此,当用户点击返回按钮时,ContentView将自动导航到解析JSON数据的视图的第三行。
阅读全文