第二次鼠标点击iOS13.4

第二次鼠标点击iOS13.4,ios,uikit,ios13,ios13.4,Ios,Uikit,Ios13,Ios13.4,只需在iOS13.4中使用新的鼠标/轨迹板支持,并尝试检测主要和次要鼠标按钮的点击 我可以通过将UIApgestureRecognitor上的设置为UIEventButtonMaskPrimary或UIEventButtonMaskSecondary来检测它们(主要或次要单击) 但是,如果我尝试同时识别这两个选项(buttonMaskRequired=UIEventButtonMaskPrimary | UIEventButtonMaskSecondary),则手势识别器不会启动(用于鼠标单击)

只需在iOS13.4中使用新的鼠标/轨迹板支持,并尝试检测主要和次要鼠标按钮的点击

我可以通过将UIApgestureRecognitor上的设置为UIEventButtonMaskPrimary或UIEventButtonMaskSecondary来检测它们(主要或次要单击)

但是,如果我尝试同时识别这两个选项(buttonMaskRequired=UIEventButtonMaskPrimary | UIEventButtonMaskSecondary),则手势识别器不会启动(用于鼠标单击)


有人知道这是一个“疏忽”还是我做错了什么吗?

我已经取得了进步,但感觉真的很糟糕


创建2个轻触手势识别器-一个设置了主遮罩,另一个设置了辅助遮罩。然后,如果UITouch类型为UITouchTypeDirect,我将取消GestureRecognitizerShouldBegin:delegate调用中的第二个手势,以停止使用用手指获取2次点击事件。

您可能需要两个不同的识别器。如果在一个掩码中设置两个标志,则可能意味着需要同时单击两个按钮。
UIgestureRecognitizer
上的
buttonMask
属性有助于确定使用了哪个鼠标按钮。但是,在我的测试(iPadOS 13.5)中,无论使用哪个鼠标键,该属性始终为
rawValue 0
。似乎是iOS中的一个bug。我已经覆盖了
GestureRecognitzer(\uGestureRecognitzer:UIGestureRecognitzer,shouldReceive touch:UITouch)
,但即使在使用mouse@SteveKuo它在你的Mac Catalyst应用程序中有效吗。。。UIEventButtonMaskSecondary似乎仅在按住CTRL键的同时单击。。。如果我从Catalina的设置更改轨迹板设置,则无法通过UIEventButtonMaskSecondary检测到辅助单击