【发布时间】:2017-09-04 15:32:25
【问题描述】:
我正在尝试让可访问性在我的应用中工作。我想要在“精选”页面中与“App Store”应用完全相同的行为:
tableview,其中每一行包含一个带有一些单元格的collectionView。我想使用 VoiceOver 遍历 collectionView 的所有单元格,然后移动到下一个 collectionView's 单元格。
当我向右滑动并从一个单元格移动到另一个单元格时,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)
}
}
我该如何解决这个问题?
谢谢
【问题讨论】:
标签: ios swift uiaccessibility