Доступность iOS в UICollectionView: VoiceOver застревает в последней ячейке

Я пытаюсь получить доступность для работы в моем приложении. Мне нужно то же поведение, что и в приложении App Store, на странице "Featured":

tableview где каждая строка содержит collectionView с некоторыми клетками. Я хочу использовать VoiceOver, чтобы пройти через все ячейки collectionView, а затем перейти к следующему collectionView's клетки.

VoiceOver работает, когда я проводю вправо и перемещается из ячейки в ячейку. Проблема в том, что, как только я доберусь до последней клетки collectionViewвместо перехода к следующему collectionViewVoiceOver застревает в этой последней ячейке. Приложение не падает, но перестает отвечать.

Я использую этот код в подклассе 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

Другие вопросы по тегам