UITextField 键盘无法通过语音辅助功能识别,但无需它即可工作

问题描述 投票:0回答:1

我是辅助功能领域的新手,并且对 iOS 的语音功能有疑问。

我有一个非常简单的 UIViewController,其中有一个 UITextField(参见屏幕截图)。 问题是,当我开始编辑文本字段(双击文本字段后键盘打开)并尝试点击键盘以听到/写下字符时,画外音功能会发出声音,这表明什么都没有。所以我无法输入任何字符,因为画外音功能无法识别键盘。 当我在没有旁白的情况下编辑文本字段时,它工作正常并且我可以使用键盘。

我安装了一个UITapGestureRecogniser,它在textFieldDidBeginEditing函数中初始化,并在textFieldDidEndEditing函数中删除:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(MyHideKeyboard)];
    tap.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer: tap];
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(MyHideKeyboard)];
    tap.cancelsTouchesInView = NO;
    [self.view removeGestureRecognizer: tap];
}

但是禁用它也不起作用。此外,当我将 UIKeyboardType 从 URL(标准)切换到任何其他类型时,没有什么不同。 总而言之,我没有以 _textfield.text 以外的其他方式访问文本字段属性,因此我可以以编程方式排除更改。

希望有人能帮忙!

ViewController Screenshot

ios objective-c uitextfield accessibility voiceover
1个回答
0
投票

如果您使用没有辅助功能支持的自定义键盘,则可能会出现此问题。

© www.soinside.com 2019 - 2024. All rights reserved.