【发布时间】:2020-06-15 09:27:00
【问题描述】:
我正在使用 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 可以按预期工作。我错过了什么,还是应该提交错误报告?
【问题讨论】:
标签: ios uigesturerecognizer mac-catalyst