Ios5 在辅助功能模式下未检测到手势

Ios5 在辅助功能模式下未检测到手势,ios5,accessibility,uigesturerecognizer,voiceover,Ios5,Accessibility,Uigesturerecognizer,Voiceover,我正在编写一个应用程序,我需要在屏幕顶部放置一个标签,每当用户触摸它(或在上面滑动手指)时,我需要大声读出标签文本。我尝试了以下方法: 首先使标签的可访问性元素=YES [labelInfo setIsAccessibilityElement:YES]; 但这不起作用。 然后我试着定义许多手势,比如两次触摸,一次轻触;使用一个和两个手指等进行长时间点击,在该手势类中,我编写了UIAccessibilityPostNotification,以便可以大声读出文本。但它似乎根本不起作用。我就是这样做

我正在编写一个应用程序,我需要在屏幕顶部放置一个标签,每当用户触摸它(或在上面滑动手指)时,我需要大声读出标签文本。我尝试了以下方法:

首先使标签的可访问性元素=
YES

[labelInfo setIsAccessibilityElement:YES];
但这不起作用。 然后我试着定义许多手势,比如两次触摸,一次轻触;使用一个和两个手指等进行长时间点击,在该手势类中,我编写了
UIAccessibilityPostNotification
,以便可以大声读出文本。但它似乎根本不起作用。我就是这样做的:

UITapGestureRecognizer *TapOnLabel = [[UITapGestureRecognizer alloc] initWithTarget:labelInfo action:@selector(TapOnLabel:)];
[TapOnLabel setIsAccessibilityElement:YES];
[TapOnLabel setNumberOfTapsRequired:2];
[TapOnLabel setNumberOfTouchesRequired:1];
[labelInfo addGestureRecognizer:TapOnLabel];
[TapOnLabel release];

-(void) TapOnLabel:(UITapGestureRecognizer *)gestureRecognizer
{
  UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Where am    I?");
  NSLog(@"%@",labelInfo.text);
}
在可访问性模式下是否有我遗漏的东西或没有手势工作,因为很多都是预定义的。例如,两个手指两次轻触是音乐开/关等。 如果是这种情况,我至少需要刷卡才能工作。有什么想法吗


另外,我看到了一个类似问题的解决方案。但是缩放手势是很特别的,对我没有帮助。此外,所有手势类在没有辅助功能模式的情况下都能正常工作,因此它们编写正确。

这些手势都被VoiceOver截取。有一种手势传递模式,您可以在屏幕上双击并按住手指1s。然后,您将听到一个提示音,在您抬起手指或完成一个手势之前,拦截将被禁用。这给了你基本上8个手势,你可以完成-四次刷卡和四次拖动


但是,既然如此,为什么应用程序需要以这种方式运行呢?为什么您不能简单地添加辅助功能标签和/或提示,并允许画外音焦点和触摸按其设计来探索工作?

您不需要为此自己执行任何手势。标签是否为普通UILabel?如果不是,它的可访问性标签是什么?在启用辅助功能检查器的模拟器中(可在设置中找到),检查器为该标签提供了什么标签、提示、培训?只是为了咯咯笑。。。。你的问题实际上是如何使用的?如果用户无法阅读屏幕(各种原因),那么他们如何知道要刷哪个区域(部分单词,可能是不同的语言)??这个问题的用例是什么?@pithhelmet我想你没有考虑过视力受损的人吧?他们会在这里大声说出标签,以便知道他们正在触摸正确的应用程序。