Как сократить время между нажатием на ячейку и выполнением определенного кода? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть приведенный ниже код, который успешно вызывает нажатие ячейки в collectionView при нажатии.

Проблема в том, что нужно держаться довольно долго, прежде чем случится депрессия.Не пойми меня неправильно.Это всего лишь около 1 секунды, но если вы сравните эту скорость со скоростью Snapchat, вы можете ясно увидеть, что скорость почти мгновенная.

func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) {

     UIView.animate(withDuration: 0.1, animations: {

         collectionView.cellForItem(at: indexPath)!.transform = CGAffineTransform.identity.scaledBy(x: 0.95, y: 0.95)

      })
 }

Вопрос: Как я могу сделать эту анимацию для каждой ячейки, быть мгновенной или ближе к ней, как Snapchat?

Обновление:

Это, кажется, делает это:

func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) {

    UIView.animate(withDuration: 0.1, animations: {

        collectionView.cellForItem(at: indexPath)!.transform = CGAffineTransform.identity.scaledBy(x: 0.95, y: 0.95)

    }) { (true) in

        UIView.animate(withDuration: 0.1, animations: {

            collectionView.cellForItem(at: indexPath)!.transform = CGAffineTransform.identity.scaledBy(x: 1, y: 1)

        })

    }

}

Это вариант, если кто-то хочет что-то базовое.

Ответы [ 2 ]

5 голосов
/ 17 июня 2019

Отключить задержку касания содержимого collectionView в конструкторе интерфейса:

Delay

или в коде:

myCollectionView.delaysContentTouches = false

Совет : включение опции .beginFromCurrentState для этой анимации сделает ее более плавной и отзывчивой. Из документов Apple на beginFromCurrentState:

Запустить анимацию с текущей настройки, связанной с уже запущенной анимацией.

UIView.animate(withDuration: 0.1, delay: 0, options: [.beginFromCurrentState], animations: { 
}) { finished in 
}
1 голос
/ 17 июня 2019

Если вы хотите мгновенности, вы можете трансформироваться в прикосновения Beg и touch, закругленные / touchesCanceled и обратно в ваш собственный UICollectionViewCell

.
...