Сбой iOS 14 при переупорядочении UICollectionViewCell

#ios #swift #crash #exc-bad-access #reorderlist

#iOS #swift #сбой #исключение -плохой доступ #список изменений

Вопрос:

У меня странная проблема при использовании функции изменения порядка в моем приложении. Я использую .updateInteractiveMovementTargetPosition метод для переупорядочивания ячейки. Он работает на iOS 11, iOS 12, iOS 13, но сбой в бета- версии iOS 14.

Есть ли какая-либо реализация или как я могу это исправить?

   @objc func handleLongGesture(gesture: UILongPressGestureRecognizer) {
      switch(gesture.state) {
      case .began:
          guard let selectedIndexPath = reorderCollectionView.indexPathForItem(at: gesture.location(in: reorderCollectionView)) else {
              break
          }
          reorderCollectionView.beginInteractiveMovementForItem(at: selectedIndexPath)
      case .changed:
          reorderCollectionView.updateInteractiveMovementTargetPosition(gesture.location(in: reorderCollectionView))
      case .ended:
          reorderCollectionView.endInteractiveMovement()
      default:
          reorderCollectionView.cancelInteractiveMovement()
      }
  }
  

введите описание изображения здесь

Комментарии:

1. Что говорится в журнале сбоев?

2. Нет никакого журнала сбоев, только плохой доступ.

Ответ №1:

Я нашел решение с программным созданием UICollectionView, это может быть ошибка из бета-версии iOS 14

 private let pragmaticallyCollectionView: UICollectionView = {
    let layout = UICollectionViewFlowLayout()
    layout.itemSize = CGSize(width: 343, height: 84)
    layout.scrollDirection = .vertical
    let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
    return collectionView
  }()