与语音直接交互?

时间:2012-01-18 08:26:38

标签: iphone ios cocoa-touch ios5

我的应用程序满足于单击3种类型:1个指尖,2个指尖和3个指尖以及一些滑动手势。

但是当Voice Over打开时,他们无法正确检测到点按。

我试过了

if (UIAccessibilityIsVoiceOverRunning()) {

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

[self.view addSubview:interactionView];

[self.view bringSubviewToFront:interactionView];

[interactionView setAccessibilityTraits:UIAccessibilityTraitAllowsDirectInteraction]; }

但它不适用于水龙头

1 个答案:

答案 0 :(得分:4)

为了能够在启用VoiceOver的情况下处理水龙头(touchesBegan:withEvent:等),您需要设置UIView的两个变量:

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

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