有没有办法禁用 UITextField 中占位符文本的辅助功能旁白?

Dev*_*esH 5 accessibility uikit ios voiceover

UITextField在我的应用程序中使用搜索文本栏。我总是想将accessibiliyLabel文本字段设置为“搜索文件”。我还想将占位符设置为“搜索文件”。

但是,当我启动 iOS 画外音时,如果在“”(空)中输入文本,则会Search for file说两次(即一个表单accessibilityLabel和另一个表单占位符)。如果文本字段中存在某些输入文本,则仅accessibilityLabel与输入文本一起朗读。

有什么方法可以禁用占位符文本的可访问性吗?

小智 6

在这里找到了这个答案:

class MyTextField: UITextField {
    override public var accessibilityValue: String? {
        get { return self.text }
        set { super.accessibilityValue = newValue }
    }
}
Run Code Online (Sandbox Code Playgroud)

您将通过始终返回该属性来防止您UITextField使用您的placeholder as the 。请记住,使用类似的东西是行不通的。accessibilityValuetexttextField.accessibilityValue = text