我正在尝试在 SwiftUI 中列表的滑动操作中修改图像的颜色。
我尝试了几件事:
- 使用渲染模板设置图像,然后应用 foregroundColor 修改器
- 将foregroundColor修饰符直接设置为按钮
- 试图设置自定义图像
我为此搜索了很多,但我没有找到任何东西,不仅没有找到解决方案,我也没有找到 NO,比如“你不能那样做”,所以这个问题是给我和任何人的未来试图做同样的事情,他们能够找到一个快速的解决方案或一个快速的“那是不可能的”。
我的一段代码,非常简单:
List {
if viewModel.showSkeleton {
ForEach(0...4, id: \.self) { _ in
SkeletonTransactionRowView().listRowSeparator(.hidden)
}
} else {
ForEach(viewModel.transactions) { transaction in
TransactionRowView(transaction: transaction)
.swipeActions {
Button { viewModel.delete(transaction: transaction) } label: {
Label("Delete", systemImage: "trash")
}
.tint(.red)
}
}
.listRowSeparator(.hidden)
}
}
.listStyle(PlainListStyle())
注意:我知道我可以制作自定义拖动手势并手动执行所有这些操作,但我想知道是否可以使用滑动操作修饰符来完成。