#ios #ios9
#iOS #ios9
Вопрос:
Мне нужно получить событие / информацию, когда CollectionView запускает и останавливает перетаскивание.
Я думаю, что это должен быть обычный сценарий при перетаскивании ячеек — чтобы иметь возможность сохранять список за CollectionView.
- (void)collectionView:(UICollectionView *)collectionView
moveItemAtIndexPath:(NSIndexPath *)sourceIndexPath
toIndexPath:(NSIndexPath *)destinationIndexPath{
Ответ №1:
Идея #1:
Используйте следующие два метода делегирования :-
func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
}
// Подпись метода изменена для Swift 3
func collectionView(UICollectionView, didEndDisplaying: UICollectionViewCell, forItemAt: IndexPath) {
}
Идея #2:
UICollectionView является подклассом UIScrollView. Итак, если вы установили делегат и внедрили UIScrollViewDelegate , вы должны быть в состоянии обнаружить это так же, как UIScrollView
Проверьте эту функцию:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
}
Это должно сработать..
Приветствия!
Комментарии:
1. willDisplayCell вызывается нормально, но не didEndDisplayingCell
2. Спасибо, но все то же самое.
Ответ №2:
используйте эти методы, чтобы начать прокрутку и завершить прокрутку представления коллекции:
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
}