Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iphone中禁用我的导航栏中的UIpangesture识别器(如果有)?_Iphone_Ios_Ipad - Fatal编程技术网

如何在iphone中禁用我的导航栏中的UIpangesture识别器(如果有)?

如何在iphone中禁用我的导航栏中的UIpangesture识别器(如果有)?,iphone,ios,ipad,Iphone,Ios,Ipad,我有一个应用程序,其中我在导航栏中启用了UIpangesture识别器,用于放置菜单。但我只需要在菜单的基本视图中使用它。当我们要进入详细视图时,我只需要在那里禁用它。有人能帮我找到如何在导航栏中禁用识别器吗如果存在任何东西。我需要首先在导航栏视图中检查它是否已启用,如果已启用,那么我需要禁用它?有人可以指导我吗?在UIPangestureRecongnizer的回调中,您可以检查应用程序的当前状态,即加载了哪个视图,然后相应地显示您的菜单 - (void)gestureCallback:(UI

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

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

- (void)gestureCallback:(UIGestureRecogniser*)gesture{
    if(state == firstLevel)
       // Show the menu
    else
      // return without doing anything.
}
具有一个
enabled
属性,当它仍然连接到
UIView
时,您可以使用该属性来启用/禁用它。这将防止回调完全触发


或者,您可以使用
UIView
removeGestureRecognizer:
方法临时删除手势识别器,然后重新添加它。

我需要检查它是否存在,因为它没有添加到该视图中。如果它存在,我需要禁用它。.是的,在回拨中,您可以检查条件并相应地处理它。如果你发布更多的代码或更好的描述,我可以编辑我的答案。