Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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 UIView仅手柄双击_Ios_Swift_Uigesturerecognizer_Uitouch - Fatal编程技术网

Ios UIView仅手柄双击

Ios UIView仅手柄双击,ios,swift,uigesturerecognizer,uitouch,Ios,Swift,Uigesturerecognizer,Uitouch,我希望我的视图只处理双击手势。其余的手势应该转发到superview。如何做到这一点? 我尝试了pointsInsideoverride技巧,但它转发了所有触摸 编辑: 此外,superview可能会也可能不会决定处理触摸(它可能会决定将触摸转发到其他视图)。 实际上,我试图实现的是在最初的窗口上设置一个只对双击做出反应的ui窗口,其余的触摸都应该通过。将双击手势识别器添加到超级视图中,然后,在手势识别器的代理中,实现手势识别器应开始,仅当它在您的视图框架内时才返回true。通过这种方式,您可以

我希望我的视图只处理双击手势。其余的手势应该转发到superview。如何做到这一点? 我尝试了
pointsInside
override技巧,但它转发了所有触摸

编辑:

此外,superview可能会也可能不会决定处理触摸(它可能会决定将触摸转发到其他视图)。
实际上,我试图实现的是在最初的窗口上设置一个只对双击做出反应的
ui窗口,其余的触摸都应该通过。

将双击手势识别器添加到超级视图中,然后,在手势识别器的代理中,实现
手势识别器应开始
,仅当它在您的视图框架内时才返回true。通过这种方式,您可以在视图中将
userInteractionEnabled
设置为false,一切都可以正常工作。除双击外,视图对触摸是透明的。无需任何命中测试或点内覆盖。

将双击手势识别器添加到超级视图中,然后在手势识别器的代理中执行
手势识别器应开始
,仅当它在视图框架内时才返回true。通过这种方式,您可以在视图中将
userInteractionEnabled
设置为false,一切都可以正常工作。除双击外,视图对触摸是透明的。不需要任何hitTest或pointInside覆盖。

您的回答确实回答了我的问题。然而,一开始我把它简化了一点。现在我添加了更多的上下文。同样的想法也可以奏效。在您的
ui窗口上,将
userInteractionEnabled
设置为false,并将手势识别器添加到它下面的窗口中。我会尝试这样做,如果成功,我会接受您的答案。不确定它是否能工作,因为下面的窗口中有许多子视图可能会有触感。你的答案确实回答了我的问题。然而,一开始我把它简化了一点。现在我添加了更多的上下文。同样的想法也可以奏效。在您的
ui窗口上,将
userInteractionEnabled
设置为false,并将手势识别器添加到它下面的窗口中。我会尝试这样做,如果成功,我会接受您的答案。不确定它是否能工作,因为在下面的窗口中有许多子视图可能会有触感。