Как отключить анимацию при длительном нажатии контекстного меню для CollectionView iOS Swift?
В моем ViewController есть три UICollectionView для всех UICollectionView, которые я создал contextMenu, но для последнего UICollectionView я не хочу показывать меню и для <return UIContextMenuConfiguration(identifier: nil, previewProvider: nil)> все работает хорошо, но для эта анимация длительного нажатия 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)
}
}
1 ответ
Решение
Проходить
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
}
}