[英]How to have a NavigationLink with swipeActions in a List in SwiftUI
考虑这样的 NavigationView 内的列表:
struct ContentView: View {
var body: some View {
NavigationView {
List {
Text("Shovel")
Text("Bucket")
Text("Sieve")
}.navigationTitle("Sandbox")
}
}
}
我想将.swipeActions
添加到列表条目的后沿,如下所示:
Text("Shovel")
.swipeActions(edge: .trailing) {
Button{} label: { Image(systemName: "trash.fill") }
}
但是,一旦我将列表条目嵌入到NavigationLink
中, .swipeActions
就不再起作用了。
NavigationLink(destination: Text("Shovel")) {
Text("Shovel")
.swipeActions(edge: .trailing) {
Button{} label: { Image(systemName: "trash.fill") }
}
}
现在进入问题:
谢谢你的帮助。
您应该像这样将SwipeAction
添加到NavigationLink
:
NavigationLink(destination: Text("Shovel")) {
Text("Shovel")
}.swipeActions(edge: .trailing) {
Button{} label: { Image(systemName: "trash.fill") }
}
发生这种行为是因为滑动操作是用于List Row
的modifier
。 当您只有Text
时,它就是行。
但是,当在任何View
( VStack
、 HStack
、 NavigationLink
...)中嵌入您的内容时,该父级将成为Row
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.