TableViewCell中的CollectionView的iOS可访问性

Ke *_* MA 5 accessibility tableview ios voiceover uicollectionview

我目前正在研究项目的可访问性,这里是放入自定义UITableViewCell的UICollectionView.此CollectionView具有数十个单元格,这些单元格以多行而不是一行排列.

它引发了一个问题,当你打开voiceOver并通过向左或向右滑动在collectionViewCells之间移动焦点时,系统认为你在tableViewCells之间滑动,因为collectionView在tableView中,而tableView的contentOffSet将根据tableViewCell大小,而不是collectionViewCell大小.

CollectionView已经放在tableView中了,我认为我不能改变它.所以只是想知道以前有没有人遇到过这个案例,无论如何都要使collectionView正常访问?

Sea*_*ell 18

当在tableView中嵌套collectionView时,这是Apple的SDK中的一个已知错误(抱歉,我没有错误报告参考).经过一些实验,我可以通过使用UIView作为我的collectionView的包装器来解决它,然后将它添加到我的UITableViewCell的.contentView中

    UIView *wrapperView = [[UIView alloc] initWithFrame:cell.contentView.bounds];
    wrapperView.accessibilityElements = @[collectionView];
    [cell.contentView addSubview:wrapperView];
    [wrapperView addSubview:collectionView];
Run Code Online (Sandbox Code Playgroud)

  • `.accessibilityElements = @[collectionView];` 的优点。 (3认同)