如果行视图中还有一个NavigationLink,那么除了导航之外,我无法选择一行。 UIKit没问题。是因为目前缺乏实施,仅仅是一个错误而已,还是实际上目前有可能?
这可能是可以说明问题的最简单的代码段。
struct ContentView: View {
var body: some View {
NavigationView {
List {
HStack {
Button("How can I tap over here without transitioning?") { }
NavigationLink( destination: ContentView() ) {
Spacer()
}
}
}
}
}
}
答案 0 :(得分:2)
您的按钮应该不是默认样式。
这里是可能方法的简单演示。使用Xcode 11.7 / iOS 13.7进行了准备和测试
struct ContentView: View {
@State private var selected = false
var body: some View {
NavigationView {
List {
HStack {
Button(action: { self.selected.toggle() }) {
Image(systemName: selected ? "checkmark.circle" : "circle")
}.buttonStyle(PlainButtonStyle())
.padding(.horizontal)
NavigationLink( destination: Text("Details") ) {
Text("Link")
.frame(maxWidth: .infinity, alignment: .leading)
}
}
}
}
}
}