如何禁用 CollectionView iOS Swift 上下文菜单的长按动画?

问题描述

对于我创建的所有 UICollectionView,我的 ViewController 具有三个 UICollectionView,但对于最后一个 UICollectionView,我不想显示菜单,并且对于 一切正常好吧,但是对于这个 UICollectionview 长按动画没有禁用。

如何禁用最后一个 UICollectionView 的长按动画?这确实很容易,但我无法删除认情况。

我的代码示例:

func collectionView(_ collectionView: UICollectionView,contextMenuConfigurationForItemAt indexPath: IndexPath,point: CGPoint) -> uicontextmenuconfiguration? {
        
        switch collectionView {
        case favoriteCollectionView:
             return uicontextmenuconfiguration(identifier: nil,previewProvider: nil) {...}
        case allCollectionView:
             return uicontextmenuconfiguration(identifier: nil,previewProvider: nil) {...}
        default:
              // This menu empty and doesn't show but the animation of long pressed not disabled how to fix this?
             return uicontextmenuconfiguration(identifier: nil,previewProvider: nil)
        }
    }

解决方法

通过 return nil 插入 return UIContextMenuConfiguration(identifier: nil,previewProvider: nil)

func collectionView(_ collectionView: UICollectionView,contextMenuConfigurationForItemAt indexPath: IndexPath,point: CGPoint) -> UIContextMenuConfiguration? {

    switch collectionView {
    case favoriteCollectionView:
        return UIContextMenuConfiguration(identifier: nil,previewProvider: nil) {...}
    case allCollectionView:
        return UIContextMenuConfiguration(identifier: nil,previewProvider: nil) {...}
    default:
        return nil //<-- HERE
    }
}