在ios中更改textview的高度约束时,辅助功能无法正常工作
我正在为我的应用程序添加可访问性支持,在一个场景中,我将TextView的高度限制更改为0和44。 当高度为0时,我将禁用可访问性,反之亦然。但在这样做时,当高度变为44时,即使在ios中更改textview的高度约束时,辅助功能无法正常工作,ios,voiceover,uiaccessibility,Ios,Voiceover,Uiaccessibility,我正在为我的应用程序添加可访问性支持,在一个场景中,我将TextView的高度限制更改为0和44。 当高度为0时,我将禁用可访问性,反之亦然。但在这样做时,当高度变为44时,即使UITextView的可访问性已打开;辅助功能光标永远不会指向UITextView,除非我关闭并打开辅助功能 禁用/启用可访问性,隐藏可访问性元素 textView.accessibilityElementsHidden = true textView.disableAccessibility() 我在一个空白项目中
UITextView的可访问性已打开
;辅助功能光标永远不会指向UITextView
,除非我关闭并打开辅助功能
禁用/启用可访问性,隐藏可访问性元素
textView.accessibilityElementsHidden = true
textView.disableAccessibility()
我在一个空白项目中尝试并实现了您的用例,如下所示:
按钮H 0
导致文本视图高度为零并禁用文本视图可访问性,而按钮H 44
导致文本视图高度为44并启用文本视图可访问性
相应的代码(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
}
}
下面将显示画外音手势的最终结果:
按钮H 0
以禁用textview可访问性并将其高度设置为0按钮H 44
以启用textview可访问性并将其高度设置为44根据这一原理,您可以注意到,VoiceOver在iOS中更改文本视图的高度约束时工作正常Hi@XLE\u 22,我在单击按钮时也在做同样的事情。在我的例子中,UITextField位于TableViewCell内,它在扩展时也会增加单元格的大小。另外,当我打开/关闭画外音时,它也可以正常工作。@user_aj:你在帖子中从来没有提到过TableviewCell。这肯定是你最初描述的另一个问题。对于正在寻找VoiceOver TextView解决方案的人,请接受此答案,并打开另一个专门讨论您在TableviewCell中处理TextView的实际问题的主题:请尽可能准确并添加尽可能多的详细信息以获得正确的解决方案。起草解决方案所花费的时间必须有效。。。