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

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

我试过了

if (UIAccessibilityIsVoiceOverRunning()) {

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

[self.view addSubview:interactionView];

[self.view bringSubviewToFront:interactionView];

[interactionView setAccessibilityTraits:UIAccessibilityTraitAllowsDirectInteraction]; }

但它不适用于水龙头

最佳答案

为了能够在打开 VoiceOver 的情况下处理点击(touchesBegan:withEvent: 等),您需要设置 UIView 的两个变量:

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

你没有设置后者。但是,请记住,这样做会禁用对该 View 所做的一些默认手势。如果您不想要那样并且只需要基本手势而不是完全控制触摸,请尝试将手势识别器 ( addGestureRecognizer: ) 像 UITapGestureRecognizer 添加到 View 中。

关于iphone - 直接与画外音互动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8907137/

10-12 06:19