我在iOS Xcode 8.3.2 Swift 3.1中创建了一个屏幕,它具有一个水平滚动的UICollectionView和一行图像。问题是认为“自动重新排序”功能是UICollectionView的一部分,实际上它只在UICollectionViewController中实现。因为我只想让屏幕的一部分滚动,所以我不相信我可以使用集合视图控制器 - 在这种情况下集合视图总是全屏显示,对吧?
通过控制器,我发现installsStandardGestureForInteractiveMovement
,它会自动实现一个手势识别器。
我想在我的集合视图中使用UIViewController中的相同功能。但是,我不知道我需要捕获哪些手势来实现单元重新排序。集合视图本身内置的任何拖动重新排序?有没有一种方法可以使用控制器,而不是全屏收集视图?
我已经实现了以下方法来执行数据的实际移动,但我不确定要设置哪个手势识别器。
func collectionView(_ collectionView: UICollectionView,
moveItemAt sourceIndexPath: IndexPath,
to destinationIndexPath: IndexPath) {
let cellToMove = promoPages.remove(at: (sourceIndexPath as NSIndexPath).row)
promoPages.insert(cellToMove, at: (destinationIndexPath as NSIndexPath).row)
}
相似问题