Я хочу достичь очень простого: каждый раз, когда пользователь фокусирует ячейку представления коллекции, я хочу сделать фокусированную ячейку горизонтально центрированной. Похоже, мой нынешний подход вообще не работает.
func collectionView(collectionView: UICollectionView, didUpdateFocusInContext context: UICollectionViewFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
guard collectionView === self.categoryCollectionView else {
return
}
guard let indexPath = context.nextFocusedIndexPath else {
return
}
collectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .CenteredHorizontally, animated: true)
}
Странно то, что представление коллекции игнорирует любые попытки прокрутки в любом месте. В целях тестирования я изменил путь индекса на путь индекса последнего элемента в представлении коллекции, но он работает только тогда, когда представление коллекции появляется впервые.