3

我正在测试启用 VoiceOver 的手势。我有一个包含 UITableView 实例的视图,其中设置了属性 allowMultipleSelection=YES。我添加了 UITapGestureRecognizer 的实例来查看:

UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDoubleTap)];
doubleTapRecognizer.numberOfTapsRequired = 2;
doubleTapRecognizer.numberOfTouchesRequired = 1;
doubleTapRecognizer.cancelsTouchesInView = YES;
doubleTapRecognizer.delaysTouchesBegan = YES;
[mainView addGestureRecognizer:tapRecognizer]; 

当我点击 3 次(再点击 1 次)时,这适用于启用的 VoiceOver。但是,如果我选择单元格(在 VoiceOver 模式下双击)而不是单元格被选中,但我有没有选择单元格信息的语音消息(当我点击一次已经选择的单元格时 - 我有正确的信息)。当我设置 doubleTapRecognizer.delaysTouchesBegan = NO 时,选择和语音消息在 VoiceOver 模式下是可以的,但是当我进行 3 次点击时,我的方法 onDoubleTap 被调用,但最后一个焦点单元格也被选择/取消选择(如 2 次点击)。所以这个解决方案对我来说不能正常工作。

我在 Iphone 用户指南中发现,在 VoiceOver 模式下,定义了 3 次点击:“三次点击:双击一个项目。” - 所以它是保留的。我尝试将水龙头更改为 numberOfTapsRequired = 3; - 但它在 VoiceOver 模式下不起作用 - 我测试了当我将一根手指放在屏幕上并用第二根手指轻敲 3 次时它可以工作。这应该如何以适当的方式完成?以及在哪里可以找到更多信息如何在 VoiceOver 模式下处理手势以做出正确的解决方案(例如,如果我添加其他手势,如长按,它应该如何在画外音模式下触发)。

——
问候
亚当

4

0 回答 0