UICollectionView与手势识别器

时间:2016-05-11 18:47:12

标签: ios uicollectionview uigesturerecognizer uilongpressgesturerecogni

我有一个UICollectionView,附有长按手势。当我按下一个单元格时,它工作正常,但如果触摸的区域不是单元格,则应用程序会因EXC_BREAKPOINT而崩溃

它在

上崩溃了
if let indexPath : NSIndexPath = collectView.indexPathForItemAtPoint(point)! { 

线。我相信我需要检查点是否实际上是一个单元格,但我不确定要检查什么

代码如下

@IBAction func longPressCell(sender: UILongPressGestureRecognizer) {
    if (sender.state == UIGestureRecognizerState.Began) {
        if let point : CGPoint = sender.locationInView(self.collectionView) {
            if let collectView = self.collectionView {
                if let indexPath : NSIndexPath = collectView.indexPathForItemAtPoint(point)! {
                    let adopt : UserPet = self.fetchedResultsController.objectAtIndexPath(indexPath) as! UserPet
                    NSLog("Adopt: \(adopt)")
                }
            }
        }

    }
}

1 个答案:

答案 0 :(得分:0)

collectView.indexPathForItemAtPoint(point)!= nil { 解决了它