Я добавил коллекцию в представление viewcontroller, затем запустил приложение в режиме разделенного просмотра на iPad.У меня есть мой собственный подклассы ViewFlowLayout из UICollectionViewFlowLayout.Я реализую - (void)prepareLayout
и - (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset
, где я возвращаю свой предпочтительный contentOffset.
Когда я изменяю размер моего представления приложения, вызывается - (void)viewDidLayoutSubviews
.Внутри метода, который я вызываю
[self.collectionView.collectionViewLayout invalidateLayout];
[self.collectionView layoutIfNeeded];
layoutIfNeeded
, вызывается prepareLayout
метод UICollectionViewFlowLayout
Все хорошо!После этого я жду вызова - (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset
из UICollectionViewFlowLayout
, но ничего не происходит
Документация Apple сообщает: Представление коллекции вызывает этот метод ( targetContentOffsetForProposedContentOffset ) после вызоваМетоды prepareLayout и collectionViewContentSize.
Кстати, если я поворачиваю устройство, все нормально, ожидаемое поведение: prepareLayout -> targetContentOffsetForProposedContentOffset