删除模式UIView / Partial Curl的水龙头识别器

时间:2014-03-14 12:53:22

标签: ios iphone xcode transition modalviewcontroller

有没有办法删除部分卷曲过渡的轻拍手势识别? 现在,当用户点击卷曲的视图时,它会向后弯曲 - 解散。

我正在使用它来快速注册控制器,我不希望用户在没有警告的情况下意外点击并返回。

3 个答案:

答案 0 :(得分:3)

对于任何想要获得Hitendra工作答案的人,您必须在viewDidLoad之后放置代码。我使用viewDidAppear函数取得了成功。

这也是一个快速实现:

private func removePartialCurlTap() {
  if let gestures = self.view.gestureRecognizers as? [UIGestureRecognizer] {
    for gesture in gestures {
      self.view.removeGestureRecognizer(gesture)
    }
  }
}

这样放置:

override func viewDidAppear(animated: Bool) {
  super.viewDidAppear(animated)
  removePartialCurlTap()
}

答案 1 :(得分:3)

当您使用“部分卷曲过渡”时,它会自动添加gestureRecognizer,以便在触摸时关闭到下一个屏幕的gestureRecognizers数组中。您可以轻松地看到向viewDidAppear()添加断点并在控制台中使用此代码,如我在打印中看到的那样  po self.view.gestureRecognizers

console

现在将此代码添加到viewDidAppear()的开头  self.view.gestureRecognizers?.removeAll()

此外,如果您想使用带有卷曲动画的按钮返回上一个屏幕,您可以在按钮的操作方法中轻松使用此代码 self.dismissViewControllerAnimated(true, completion: {})

答案 2 :(得分:1)

for(UIGestureRecognizer *gesture in [yourview gestureRecognizers])
{
    if([gesture isKindOfClass:[UIGestureRecognizer class]])
    {
        [yourview removeGestureRecognizer:gesture];
    }
}

请尝试以上代码。