2016-05-12 2 views
0

я есть UIcollectionView с вертикальным Scrollview, каждая строка содержит 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) 
Смежные вопросы