我正在为我的应用程序添加可访问性支持,在某些情况下,我会将TextView的高度限制更改为0和44。
当高度为0时,我将禁用辅助功能,反之亦然。但是这样做时,当高度为44时,即使UITextView
的可访问性为ON;除非我关闭和打开了辅助功能,否则辅助功能光标永远不会指向UITextView
。
禁用/启用辅助功能,隐藏辅助功能元素
textView.accessibilityElementsHidden = true
textView.disableAccessibility()
答案 0 :(得分:0)
Button H 0
导致textview高度为零,并且禁用了文本视图的可访问性,而Button H 44
则导致textview高度为44,并启用了textview的访问性。
相应的代码(Swift 5.0,iOS 12)在下面定义:
class SOFViewController: UIViewController {
@IBOutlet weak var myTextView: UITextView!
@IBOutlet weak var heightConstraint: NSLayoutConstraint!
// Action for "BUTTON H O"
@IBAction func heightIsZero(_ sender: UIButton) {
heightConstraint.constant = 0
myTextView.isAccessibilityElement = false
}
// Action for "BUTTON H 44"
@IBAction func heightIsNotZero(_ sender: UIButton) {
heightConstraint.constant = 44
myTextView.isAccessibilityElement = true
}
}
Button H 0
以禁用文本视图可访问性并将其高度设置为0。Button H 44
以启用文本视图辅助功能,并将其高度设置为44。按照此原理,您会注意到 VoiceOver在为iOS中的textview更改高度限制方面工作正常。