如果行 View 中还有一个 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()
}
}
}
}
}
}
最佳答案
您的按钮不应该是默认样式。
这是一个可能的方法的简单演示。使用 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)
}
}
}
}
}
}
关于swiftui - 如何使用 NavigationLink 在列表行中拥有其他可选区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57237661/