尝试在集合视图中重新排序单元格时崩溃(快速)

时间:2017-01-19 14:31:11

标签: ios swift uicollectionview

我有一个ViewController,在其中,我有一个UICollectionView。 我已升级我的iOS目标,因为它之前是8.0,但是为了能够在集合视图中重新排序单元格,iOS 9.0是必需的。

所以现在,我首先添加了这段代码:

extension MyViewController: UICollectionViewDelegate, UICollectionViewDataSource {
    func collectionView(collectionView: UICollectionView, moveItemAtIndexPath sourceIndexPath: NSIndexPath,toIndexPath destinationIndexPath: NSIndexPath) {
        //blablabla
    }
}

但是当我长按一个单元格并移动它时,不会调用该函数。 那么,我已经看到,如果collectionview在ViewController中,我们需要添加这段代码。

所以我补充说:

func handleLongPress(gesture: UILongPressGestureRecognizer) {
switch(gesture.state) {
        case UIGestureRecognizerState.Began:
            guard let selectedIndexPath = self.collView.indexPathForItemAtPoint(gesture.locationInView(self.collView)) else {
                break
            }
            collView.beginInteractiveMovementForItemAtIndexPath(selectedIndexPath)

        case UIGestureRecognizerState.Changed:
            collView.updateInteractiveMovementTargetPosition(gesture.locationInView(self.collView))

        case UIGestureRecognizerState.Ended:
            collView.endInteractiveMovement()

        default:
            collView.cancelInteractiveMovement()
        }
}

但是现在我的应用程序崩溃了! 实际上,当我长按一个单元格然后尝试移动它时,调用函数“updateInteractiveMovementTargetPosition”,并且在Xcode中它只是崩溃而没有任何错误消息。

是否有我忘记设置的参数或其他内容?

感谢您的帮助:)。

0 个答案:

没有答案