2012-01-18 49 views
3

我的应用程序仅包含3种类型的单击:1个指尖,2个指尖和3个手指指针以及一些轻扫手势。直接与语音交互?

但是,当Voice Over打开时,它们无法正确检测到分接头。

我已经试过

if (UIAccessibilityIsVoiceOverRunning()) { 

UIView *interactionView = [[UIView alloc]init]; 

[self.view addSubview:interactionView]; 

[self.view bringSubviewToFront:interactionView]; 

[interactionView setAccessibilityTraits:UIAccessibilityTraitAllowsDirectInteraction]; } 

不过,这并不与自来水工作

回答

3

为了能够处理抽头(touchesBegan:withEvent:等)的VoiceOver开启时,您需要设置两个变量一个UIView:

view.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction; 
    view.isAccessibilityElement = YES; 

你没有设置后者。但请记住,这样做会禁用在该视图上执行的一些默认手势。如果您不需要这些,只需要基本手势而不是完全控制触摸,请尝试在视图中添加手势识别器(addGestureRecognizer:),如UITapGestureRecognizer