如何在iPhone的导航栏中禁用平移手势识别器(如果有的话)?

时间:2013-03-13 14:23:06

标签: iphone ios ipad

我有一个应用程序,我在导航栏中启用了UIpangesture识别器,用于放置菜单。但是我需要只在我的菜单的基本视图中工作。当我们要进入详细视图时我只需要在那里禁用它。任何人都可以帮我找出如何在导航栏中禁用识别器,如果有任何东西存在。我需要先在导航栏视图中检查它是否启用如果我需要禁用那个?有人可以指导我吗?

2 个答案:

答案 0 :(得分:1)

UIGestureRecognizer具有enabled属性,您可以使用该属性启用/禁用它,同时它仍然附加到UIView。这将阻止回调完全解雇。

或者,您可以使用UIView的{​​{1}}方法临时删除手势识别器,稍后重新添加。

答案 1 :(得分:0)

在UIPanGestureRecongniser的回调中,你可以检查应用程序的当前状态,即加载了哪个视图,然后相应地显示你的菜单。

- (void)gestureCallback:(UIGestureRecogniser*)gesture{
    if(state == firstLevel)
       // Show the menu
    else
      // return without doing anything.
}