LongPress on List 确实在 iPad 上重新排序,但如何在 iPhone 上重新排序
Posted
技术标签:
【中文标题】LongPress on List 确实在 iPad 上重新排序,但如何在 iPhone 上重新排序【英文标题】:LongPress on List does re-order on iPad, but how to reorder on iPhone 【发布时间】:2019-11-17 08:06:46 【问题描述】:使用以下代码,在长按时重新排序列表有效, 但仅在 iPad 上,在 iPhone 上,长按不起作用。我怎样才能让它也能在 iPhone 上运行?
var body: some View
NavigationView
List
ForEach(objects, id: \.firstName) object in
Text("\(object.firstName) \(object.lastName)")
.onMove(perform: move)
func move(from source: IndexSet, to destination: Int)
objects.move(fromOffsets: source, toOffset: destination)
【问题讨论】:
【参考方案1】:你可以试试这个:
struct ContentView : View
@State var isEditMode: EditMode = .active
var body: some View
NavigationView
List
ForEach(objects, id: \.self) object in
Text("\(object)")
.onMove(perform: move)
.environment(\.editMode, self.$isEditMode)
【讨论】:
谢谢,这确实可以重新排序列表,但不能长按。同样使用此解决方案,尾端的 3 条线始终可见,这并不理想。以上是关于LongPress on List 确实在 iPad 上重新排序,但如何在 iPhone 上重新排序的主要内容,如果未能解决你的问题,请参考以下文章
Swift SKSpriteNode:检测 Tap / DoubleTap / LongPress