2016-05-12 82 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)