ios - LongPress on List 在 iPad 上确实可以重新排序,但如何在 iPhone 上重新排序

标签 ios swiftui swiftui-list

使用以下代码,长按时可以对列表重新排序, 但仅在 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)
    }

最佳答案

你可以试试这个:

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)
        }
    }

关于ios - LongPress on List 在 iPad 上确实可以重新排序,但如何在 iPhone 上重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58898635/

相关文章:

ios - 元数据被拒绝但需要更改二进制文件

swiftui - 如何在 swiftui 中创建键盘应用程序扩展?

SwiftUI:更改 macOS 上的默认命令菜单

swift - iOS 14、Swift UI 2 更改 NavigationLink 内所选列表项的背景颜色

swiftui - 如何删除 SwiftUI 动态列表中的复杂项目?

ios - 如何更改属性字符串中字符的对齐方式

ios - 如何以编程方式在 iOS 中为连接的 WiFi 更改/添加 DNS 服务器?

ios - 像 LOVOO 一样的雷达 View

ios - LazyVGrid 中的 SwiftUI 中心项目

ios - 如何修改拖放预览SwiftUI 的背景颜色和形状?