2016-05-12 85 views
0

我有垂直滚动视图一个UIcollectionView,每一行包含一个UIView,一个UIView内我已经以这种方式连接到平移姿势:水平平移手势内的UIScrollView

let swipe = UIPanGestureRecognizer(target: self, action: "swipe:") 
cell.addGestureRecognizer(swipe) 

这是该方法:

func swipe(sender: UIPanGestureRecognizer) { 
     let point = sender.velocityInView(sender.view!) 
     switch sender.state { 
     case .Ended: 
      if point.x < 0 { 
       selectedMessageForDetails = sender.message! 
       self.performSegueWithIdentifier("newView", sender: nil) 
      } 
     default:break 
     } 
} 

一切工作正常,但在当我刷卡在细胞水平这样,刷卡方法被调用,但如果我刷卡垂直滚动视图无法正常工作,我该如何解决这个问题?

我想有WhatsApp的消息的同一个方面,如果我向右滑动到泡沫留下,我可以打开消息的详细信息,但如果我刷卡垂直我可以滚动滚动视图!

任何想法?

+0

您可以添加轻扫self.view没有必要为每个视图添加 –

+0

以及如何识别当前单元格? –

回答

0

您可以自行.view到单个细胞给予手势不

let swipe = UIPanGestureRecognizer(target: self, action: "swipe:") 
    self.view.addGestureRecognizer(swipe) 

,以确定您可以在操作方法使用当前的电池

let point = swipe .locationInView(self.view) 

let indexPath = collectionview.indexPathForItemAtPoint(point)