簡體   English   中英

TableViewCell中的CollectionView的iOS可訪問性

[英]iOS Accessibility for CollectionView in a TableViewCell

我目前正在研究項目的可訪問性,這里是放入自定義UITableViewCell的UICollectionView。 此CollectionView具有數十個單元格,這些單元格以多行而不是一行排列。

它引發了一個問題,當你打開voiceOver並通過向左或向右滑動在collectionViewCells之間移動焦點時,系統認為你在tableViewCells之間滑動,因為collectionView在tableView中,而tableView的contentOffSet將根據tableViewCell大小,而不是collectionViewCell大小。

CollectionView已經放在tableView中了,我認為我不能改變它。 所以只是想知道以前有沒有人遇到過這個案例,無論如何都要使collectionView正常訪問?

當在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];

只需通過重新構建整個頁面來解決問題,這里有兩件事情無法讓您的應用更易於訪問:

  1. 避免直接向tableView / collectionView添加子視圖

    [tableView / collectionView addSubview:yourSubView];

  2. 避免將垂直可滾動的collectionView添加到tableViewCell。

    將水平可滾動的collectionView添加到tableViewCell似乎不會導致任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM