[英]iOS Accessibility on TableViewCell with inner CollectionView
[英]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];
只需通過重新構建整個頁面來解決問題,這里有兩件事情無法讓您的應用更易於訪問:
避免直接向tableView / collectionView添加子視圖
[tableView / collectionView addSubview:yourSubView];
避免將垂直可滾動的collectionView添加到tableViewCell。
將水平可滾動的collectionView添加到tableViewCell似乎不會導致任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.