2016-10-12 91 views
1

當CollectionView開始並停止拖動時,我需要獲取事件/信息。UICollectionViewController moveItemAtIndexPath - 如何知道完成拖動

我認爲這在拖動單元格時必須是正常情況 - 才能夠將列表保存在CollectionView後面。

- (void)collectionView:(UICollectionView *)collectionView 
    moveItemAtIndexPath:(NSIndexPath *)sourceIndexPath 
      toIndexPath:(NSIndexPath *)destinationIndexPath{ 

回答

2

思想#1:

使用下面2委託方法: -

func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) { 

} 

//方法簽名改變夫特3

func collectionView(UICollectionView, didEndDisplaying: UICollectionViewCell, forItemAt: IndexPath) { 

} 

思想#2: UICollectionView是UIScrollView的子類。所以,如果你已經設置委託並實施UIScrollViewDelegate,你應該能夠這樣以同樣的方式檢測作爲UIScrollView的這一功能

檢查:

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { 
} 

這應該工作..

乾杯!

+0

willDisplayCell是好的調用,而不是didEndDisplayingCell –

+0

@ChrisG。已經更新了我的答案Swift 3. –

+0

謝謝,但仍然是同樣的事情。 –

0

使用這種方法來獲取開始滾動和收集鑑於年底滾動:

func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) { 

} 

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { 

}