【发布时间】:2020-04-25 13:45:05
【问题描述】:
我尝试在列表中添加导航视图,如下所示。但是说Result of 'NavigationView<Content>' initializer is unused 是行不通的
var body: some View {
GeometryReader { geometry in
VStack {
List {
ForEach(self.allItems){ item in
TaskRow(item: item)
.onTapGesture {
// TODO: switch to another view
NavigationView {
VStack {
Text("Hello World")
NavigationLink(destination: AnotherView()) {
Text("Do Something")
}
}
}
}
}
}
}
}
}
AnotherView 是一个 SwiftUI 文件,如下所示:
import SwiftUI
struct AnotherView: View {
var body: some View {
VStack{
Text("Hello, World!")
}
}
}
struct AnotherView_Previews: PreviewProvider {
static var previews: some View {
AnotherView()
}
}
我已经在stackoverflow Switching Views With Observable Objects in SwiftUI 和SwiftUI Change View with Button 中尝试过解决方案。它们在我的情况下都不起作用。
如何通过 SwiftUI 中列表的 onTapGesture 切换到另一个视图,如下所示:
var body: some View {
GeometryReader { geometry in
VStack {
List {
ForEach(self.allItems){ item in
TaskRow(item: item)
.onTapGesture {
// TODO: switch to another view
AnotherView()
}
}
}
}
}
}
【问题讨论】:
-
点击手势不是为了显示视图,而是为了更改模型或值。