直接与语音朗读进行交互?

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个回答

4

为了能够在打开VoiceOver的情况下处理触摸事件(例如touchesBegan:withEvent:等),您需要设置UIView的两个变量:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接