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 上重新排序的主要内容,如果未能解决你的问题,请参考以下文章

更改触摸延迟:fabricjs 中的长按

ios企业版证书打包出来的ipa文件怎么安装

无法创建 IPA 文件 xamarin iOS

Swift SKSpriteNode:检测 Tap / DoubleTap / LongPress

Flutter - 使用 Material 在 longpress 上更改 appbar

编译 IPA 时 Firebase Analytics 不起作用