Mac Catalyst应用程序为什么不使用numberOfTouchesRequired?

时间:2020-03-03 03:43:23

标签: ios uigesturerecognizer mac-catalyst

我正在使用Mac Catalyst将应用程序从iOS移植到Mac,并注意到两指和三指轻击手势不起作用。这是一些示例代码:

UIView *test = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
test.backgroundColor = [UIColor redColor];
[self.view addSubview:test];
UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleColumns:)];
gesture.numberOfTouchesRequired = 2;
gesture.delegate = self;
[test addGestureRecognizer:gesture];

如果我用两根手指在Magic Trackpad上点击红色框,则什么也不会发生。未调用目标方法,也未调用诸如gestureRecognizer:shouldReceiveTouch:之类的手势委托方法。但是,如果我注释掉numberOfTouchesRequired行,那么一个手指的点击就可以了。

我在documentation中没有看到有关此限制的任何信息,而且显然这并不是多点触控的一般限制,因为UIPinchGestureRecognizer可以正常工作。我是否缺少某些东西,还是应该提交错误报告?

1 个答案:

答案 0 :(得分:0)

Mac Catalyst似乎对两指单击做出了响应,以显示GET ecommercesite/_search

如果实施此操作,则可以使用它来显示两指单击的菜单。这是decent tutorial

注意:我在“ Scale Interface to Match iPad”模式下使用mac催化剂。