Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.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
Ios 如何更改/断开响应者链?_Ios_Uiscrollview_Uiresponder - Fatal编程技术网

Ios 如何更改/断开响应者链?

Ios 如何更改/断开响应者链?,ios,uiscrollview,uiresponder,Ios,Uiscrollview,Uiresponder,在UIView中,默认情况下,下一个响应程序是其superview。在我的项目中,有一个滚动视图和一个小uiview作为滚动视图的子视图。我想如果我在小视图中触摸,滚动视图不应该移动。让响应程序链在子视图处断开 我试图继承子视图,并重写-(UIResponder*)nextResponder方法以返回nil。但它没有效果 更新: 看起来孩子的观点根本没有对平移手势做出反应。当我在子视图中滚动时,从未调用-(UIResponder*)nextResponder方法,但当我点击它时,该方法被调用 手

在UIView中,默认情况下,下一个响应程序是其superview。在我的项目中,有一个滚动视图和一个小uiview作为滚动视图的子视图。我想如果我在小视图中触摸,滚动视图不应该移动。让响应程序链在子视图处断开

我试图继承子视图,并重写
-(UIResponder*)nextResponder
方法以返回
nil
。但它没有效果

更新:
看起来孩子的观点根本没有对平移手势做出反应。当我在子视图中滚动时,从未调用
-(UIResponder*)nextResponder
方法,但当我点击它时,该方法被调用

手势识别器和经典响应器链在同一视图子树中相互排斥

-未调用nextResponder
,因为事件采用手势识别路径,而不是响应者链路径

只需使用手势识别器,就可以在小视图中执行您试图实现的任何事件处理