我正在测试启用了VoiceOver的手势。我有一个包含UITableView实例的视图,其中包含set属性allowsMultipleSelection = 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];
并且这可以启用VoiceOver,当我进行3次点击(再点按1次)时。但是当我选择单元格(在VoiceOver模式下双击)比单元格被选中但是我有语音消息而没有选择单元格的信息时(当我在已经选择的单元格上点击一次时 - 我有适当的信息)。当我设置doubleTapRecognizer.delaysTouchesBegan = NO时,选择和语音消息在VoiceOver模式下是正常的,但是当我进行3次点击时,我的metod onDoubleTap被调用,但最后一个聚焦的单元被选中/取消选择(如2 x tap)。 所以这个解决方案对我不起作用。
我在Iphone用户指南中发现,在VoiceOver模式下,定义了3x水龙头:“三击:双击一个项目。” - 因此保留。我尝试将tap更改为numberOfTapsRequired = 3; - 但它不能在VoiceOver模式下工作 - 我测试过,当我将一根手指放在屏幕上并用第二根手指进行3次点击时,它可以正常工作。应该如何正确地完成这项工作?并且我可以在其中找到更多信息,如何在VoiceOver模式下处理手势以做出正确的解决方案(例如,如果我添加其他手势,如长按,如何在语音模式下触发)。
-
问候
亚当