Ios 如何让UIButton在画外音上宣布双击?

Ios 如何让UIButton在画外音上宣布双击?,ios,objective-c,uibutton,accessibility,voiceover,Ios,Objective C,Uibutton,Accessibility,Voiceover,我是一个IOS初学者,尝试为UIButton启用可访问性。出于传统目的,我们仍在使用Objective-C编写IOS应用程序。我的按钮代码如下所示: -(UIButton*) initializeDoneButton { UIButton *doneButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 25, 10)]; [doneButton setTitle:@"Done" forState:UIControlSt

我是一个IOS初学者,尝试为UIButton启用可访问性。出于传统目的,我们仍在使用Objective-C编写IOS应用程序。我的按钮代码如下所示:

-(UIButton*) initializeDoneButton {
    UIButton *doneButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 25, 10)];
    [doneButton setTitle:@"Done" forState:UIControlStateNormal];  
    [doneButton addTarget:self action:@selector(finishTheProcess:) 
        forControlEvents:UIControlEventTouchUpInside];
    [doneButton setIsAccessibilityElement:YES];
    [doneButton setAccessibilityLabel:@"Done Button"];
    [doneButton setAccessibilityHint:@"Tap button to complete the process"];
    return doneButton;
}
我的回调函数

- (void) finishTheProcess:(UIButton *)sender {
    // Code here to finish the process.
}
我看到画外音只有一次点击,而不是两次点击。理想情况下,第一次点击应该在画外音上宣布标签“完成”的标题。第二次点击应执行动作回调函数。这可能吗

我已经阅读了苹果关于易访问性的教程,但我不知道如何为UIButton启用易访问性

更新

这是针对我的名字提交的错误报告

Actual Result : Voice Over announces only tap instead of double tap for “Done”.

Expected Result : Voice Over should announce as double tap.

添加
doneButton.accessibilityTraits=UIAccessibilityTraitButton

在您的
初始化nebutton
方法内部。

tl;dr-将
访问提示修改为“双击”

iOS上的易访问性元素有许多可以宣布的旁白特征。理解无障碍焦点的功能首先很重要。为了区分想要点击屏幕上某个按钮的用户与想要了解该元素更多信息的用户,苹果实施了一个可访问性焦点,基本上就像将鼠标悬停在浏览器上的网页元素上以获取更多信息一样。当用户在可访问性元素上单击一次或在元素之间向左/向右滑动时,此焦点被激活

一旦点击了可访问性元素,Voice Over就会发布帮助用户理解可访问性焦点元素的信息。这些公告可以通过辅助功能进行定制,并按以下顺序进行说明

  • 辅助功能标签-辅助功能元素的描述符

    doneButton.accessibilityLabel=“完成”

  • 可访问性特征-几个常用特征之一(例如按钮、标题)

    doneButton.accessibilityTraits=UIAccessibilityTraitButton

  • *对于UIButton类的对象,此特性默认为UIAccessibilityTraitButton

  • 辅助功能提示-解释辅助功能元素的功能

    doneButton.accessibilityHint=“双击按钮以完成此过程。”

  • *一旦宣布UIAccessibilityTrait,许多易访问性用户将知道双击按钮


    还有一些附加的可访问性特征可以设置,但这些是常用的特征,将涵盖您所需的大部分功能。您的代码实际上已经接近可操作性了。你真正需要做的就是修改
    可访问性提示
    ,说出你想通过画外音宣布的内容。

    使用tap手势或使用全局提示来识别点击功能并执行count>1调用你的操作第二次点击我恐怕不明白。你能详细说明一下吗?你想双击按钮,或者第二次触摸按钮,用更多细节更新帖子