我是可访问性主题的新手,并且在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 之外的其他方式访问textfield属性,因此我可以通过编程方式排除更改。
希望有人可以提供帮助!