UICollectionView中的iOS辅助功能:VoiceOver卡在最后一个单元格上

前端之家收集整理的这篇文章主要介绍了UICollectionView中的iOS辅助功能:VoiceOver卡在最后一个单元格上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在我的应用中使用辅助功能.我希望在“精选”页面中与“App Store”应用程序完全相同的行为:

一个tableview,其中每一行包含一个带有一些单元格的collectionView.我想使用VoiceOver通过collectionView的所有单元格,然后移动到下一个collectionView的单元格.

当我向右滑动并从一个单元格移动到另一个单元格时,VoiceOver会起作用.问题是,一旦我到达collectionView的最后一个单元格,而不是移动到下一个collectionView,VoiceOver就会卡在最后一个单元格上.该应用程序不会崩溃但停止响应.

我在UICollectionViewCell子类中使用此代码,以便在到达最后一个可见单元格时使collectionView向右滚动:

override func accessibilityElementDidBecomeFocused() {
    let cv = self.superview as! UICollectionView
    let path = cv.indexPath(for: self)!
    if self == cv.visibleCells.last {
        cv.scrollToItem(at: path,at: .centeredHorizontally,animated: false)
        UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,self)
    }
}

我怎么解决这个问题?

谢谢

解决方法

也许实现 – (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)方向

猜你在找的iOS相关文章