swift 可访问性语音在iOS中的问题

cczfrluj  于 12个月前  发布在  Swift
关注(0)|答案(2)|浏览(112)

我有一个屏幕,其中有一个UITableView。tableview有两个部分具有相同类型的单元格。当我通过可访问性检查器检查可访问性时,它不会遍历底部的所有单元格,而是读取一些单元格,然后跳回到顶部。UITableViewCell有2个UILabel和一个UIButton。我将accessibilityElements设置为如下:

self.accessibilityElements = [label1, label2, button].compactMap{$0}

字符串
注意事项:如果我不设置accessibilityElements,那么辅助功能会读取屏幕上的所有单元格,直到最后,但是每个UITableViewCell中的元素顺序不正确,因此我必须在这里设置accessibilityElements。有人知道这种行为吗?如何修复?

slhcrj9b

slhcrj9b1#

我也有类似的问题:我的单元格有许多子视图,它们在画外音中出现了混乱。所以我尝试和你一样,将子视图添加到accessibilityElements中。但这导致我在第一个单元格上卡住了,就像你一样。所以我在我的UITableViewCell类中这样做了,它工作了:

override func didAddSubview(_ subview: UIView) {
        super.didAddSubview(subview)
        accessibilityElements = subview
}

字符串

9lowa7mx

9lowa7mx2#

我也有同样的情况。在我的屏幕上,我有一个静态的tableView,有静态的单元格。见截图。但问题是当使用Accessibility Inspector时,它只能读取整个单元格和整个静态字符串Connection WiFi,而不是两个不同的文本。
从上面提到的链接中,我找到了这个答案的解决方案:https://stackoverflow.com/a/58183764/3231194
由于我不能子类化单元格,而且这样做似乎是不理想的(我使用的是故事板),我只需要创建IBOutlets,然后从那里继续所有的事情。

self.connectionTitleLabel.accessibilityIdentifier = @"sync-settings-connection-title";
  self.connectionType.accessibilityIdentifier = @"sync-settings-connection-type";
  self.connectionCell.isAccessibilityElement = NO;
  self.connectionCell.accessibilityElements = @[self.connectionTitleLabel, self.connectionType];

字符串


的数据

相关问题