【问题标题】:How to turn off the automatic swipe to go back in navigation controller? Swift如何关闭自动滑动以返回导航控制器?迅速
【发布时间】:2015-05-10 16:14:38
【问题描述】:

我需要关闭自动手势滑动才能返回导航控制器。我使用 Swift。

我已经搜索过,但没有找到适合我的解决方案。

【问题讨论】:

    标签: objective-c xcode swift swipe viewcontroller


    【解决方案1】:

    斯威夫特版本: 将此委托添加到您的 UIViewController: UIGestureRecognizerDelegate

    然后在您的viewDidLoad() 方法中添加下一行:

    self.navigationController!.interactivePopGestureRecognizer.delegate = self
    

    最后添加这个委托方法:

    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
        return false
    }
    

    祝你好运!

    【讨论】:

      【解决方案2】:
      self.navigationController.interactivePopGestureRecognizer.delegate = self
      
      func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer!) -> Bool {
      return false;
      }
      

      经过几次小小的搜索,我找到了这个。不知道它是否正确。

      【讨论】:

      • 第一行不被swift识别。
      【解决方案3】:

      您可以禁用导航控制器的interactivePopGestureRecognizer

      self.navigationController?.interactivePopGestureRecognizer.enabled = false
      

      【讨论】:

      • 我已经在我的 viewDidLoad() 中尝试过这个,但是没有用。我应该把它放在不同的地方吗?
      • 是的。在 didLaunchingWithOptions 中的 AppDelegate 方法中。
      • 刚刚在我的 didFinishLaunchingWithOptions 中尝试过,我收到下一个错误 'AppDelegate' does not have a member named 'navigationController'
      猜你喜欢
      • 2013-10-01
      • 2018-03-21
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多