我正在尝试将 SwipeActions 添加到 SwiftUI 中的列表中。它按预期工作,但是一旦我将.sidebar
listStyle 提供给列表,它就会停止工作。这是一个显示此问题的最小代码示例(可在 Swift Playgrounds 中使用):
import SwiftUI
import PlaygroundSupport
struct ContentView: View {
let strings = ["hello", "there"]
var body: some View {
List(strings, id: \.self) { str in
Text(str)
.swipeActions {
Button { print("clicked on swipe action") } label: { Label("Delete", systemImage: "trash") }
}
}
.listStyle(.sidebar) // <-- without applying this, the swipeActions work.
}
}
PlaygroundPage.current.setLiveView(ContentView())
我搜索了 Google 和 Stackoverflow,但没有找到任何答案。不同的“风格”也有不同的行为似乎很不直观。我错过了什么吗?将其包装Text
在一个ForEach
循环中也不会改变任何东西。