Доступность iOS в UICollectionView: VoiceOver застревает в последней ячейке
Я пытаюсь получить доступность для работы в моем приложении. Мне нужно то же поведение, что и в приложении App Store, на странице "Featured":
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)
}
}
Как я могу решить это?
Спасибо
1 ответ
Может быть, реализовать - (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction