我正在开发一个包含地图的盲人应用程序。当VoiceOver关闭时,我可以使用UIGestureRecognizer检测滑动和双击手势。例如:
UISwipeGestureRecognizer * swipeLeft=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeLeft:)];
swipeLeft.direction=UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeLeft];
然而,当VoiceOver打开时,我无法覆盖我拥有的VoiceOver手势。我知道UIAccessibilityTraits允许直接交互的可能性:
[mySubView setAccessibilityTraits: UIAccessibilityTraitAllowsDirectInteraction];
问题在于,由于我有地图,当我允许直接交互时,我开始与地图交互(平移,缩放等)。但是,我的目标是保持地图不变,但通过GestureRecognizers检测手势并执行与其关联的操作。
关于如何做到这一点的任何想法?
答案 0 :(得分:1)
答案 1 :(得分:0)
是的,我解决了此问题,附加了一个子视图,并设置了“ .isAccessibilityElement = true”和“ .accessibilityTraits = .allowsDirectInteraction”,并将所有手势和覆盖的触摸方法引用到添加的视图中。