我将UIPinchGestureRecognizer添加到显示图像的滚动视图中。
在紧要关头,我提出一个新的观点。

var pinch = UIPinchGestureRecognizer(target: self, action: "showFullScreen:")
self.scrollView.addGestureRecognizer(pinch)

showFullScreen函数:
func showFullScreen(sender:UITapGestureRecognizer) {
    presentViewController(photoBro, animated: true, completion: nil)
}

但当我在scrollView上按下时,showFullScreen会被调用两次,因此会出现以下错误:
由于意外异常“NSInvalidArgumentException”而终止应用程序,原因:“应用程序试图以模式显示活动控制器
我正在寻找解决方案,他们建议删除pinchGesture,但我想保留gestureerecognizer,这样用户仍然可以点击进入全屏。
我可以做些什么来确保showFullScreen只在一次按压时调用一次?

最佳答案

试试这个:

  func showFullScreen(sender:UITapGestureRecognizer) {
     if(sender.state == UIGestureRecognizerState.Ended) {
         presentViewController(photoBro, animated: true, completion: nil)
     }
  }

关于ios - UIPinchGestureRecognizer触发两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30356889/

10-10 20:53