有什么方法可以禁用 UITextField 中占位符文本的辅助功能画外音吗?

Is there any way to disable accessibility voice-over of placeholder text in UITextField?

我在我的应用程序中使用 UITextField 作为搜索文本栏。 我总是想将 accessibiliyLabel 设置为文本字段 "Search for file"。 我还想将占位符设置为 "Search for file"。

但是当我开始 iOS 画外音时,如果在“”(空)中输入文本,那么 Search for file 会说两次(即一种形式 accessibilityLabel 和另一种形式占位符) . 如果某些输入文本出现在文本字段中,只有 accessibilityLabel 与输入文本一起读出。

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

找到这个答案here

class MyTextField: UITextField {
    override public var accessibilityValue: String? {
        get { return self.text }
        set { super.accessibilityValue = newValue }
    }
}

您将阻止您的 UITextField 使用您的 placeholder 作为 accessibilityValue 始终返回 text 属性。请记住,使用 textField.accessibilityValue = text 之类的东西是行不通的。