倘若在 ViewController 中添加了一个 TableView,那么很可能在侧滑返回的时候,反而先触发了 TableView 的上下滚动,这一点是非常恼人的。

通过 requireGestureRecognizerToFail() 这个方法,就可以很好的处理这个问题。

if let gestures = navigationController?.view.gestureRecognizers {
  for recognizer in gestures {
    if recognizer.isKindOfClass(UIScreenEdgePanGestureRecognizer) {
               scrollView.panGestureRecognizer.requireGestureRecognizerToFail(recognizer as! UIScreenEdgePanGestureRecognizer)
               println("Require UIScreenEdgePanGestureRecognizer to failed")
               break
           }
       }
    }