vm2*_*000 5 accessibility uitableview ios uiaccessibility swift
在 UITableViewCell 上设置accessibilityElements后,IOS UITableView可访问性顺序错误
我有一个大而复杂的 UITableView,其中有许多不同类型的自定义 UITableViewCell。如果我不对代码进行任何特殊的可访问性更改,表格将依次读取屏幕上的所有单元格,并正确滚动,以便继续读取,直到读取整个表格。但是,在某些单元格中,子视图未按正确的顺序读取。为了解决这个问题,我在 UITableViewCell 上设置了isAccessibilityElement = false和accessibilityElements = [my subviews in the correct order]。当我这样做时,桌子开始在画外音模式下表现得很疯狂。
有时它会在特定单元格之后停止,并且不会继续到屏幕上的其他单元格。
有时它会从读取索引 20 处的单元格跳转到读取索引 5 处的单元格。
有时,它会到达屏幕上可见的最后一个单元格(还有更多单元格可供滚动),并会跳出表格以读取表格滚动条的“垂直滚动条”,然后不再继续表格内容。
同样,我所做的一切都是在我的 UITableViewCell 子类中:
isAccessibilityElement = false
accessibilityElements = [my subviews in the correct order]
Run Code Online (Sandbox Code Playgroud)
我有同样的问题。发生这种情况可能是因为子视图以错误的顺序添加。这对我有用:在所有 UITableViewCell 子类中添加以下内容:
override func didAddSubview(_ subview: UIView) {
super.didAddSubview(subview)
self.accessibilityElements = self.subviews
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
908 次 |
| 最近记录: |