Я пытаюсь создать эффект, при котором я меняю макет своего UICollectionView при изменении размера кадра.
Первоначально макет collectionView представляет полноэкранный стиль галереи в стиле «миниатюры».
После изменения размера кадра в тонкую полоску - я хотел бы представить макет в стиле "киноленты"
оба макета независимо работают нормально и так, как ожидалось.
Я пробовал код, подобный этому:
[UIView animateWithDuration:1
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.collectionview.frame = newFrame; // animate the frame size
}
completion:^(BOOL finished) {
[self.collectionView.collectionViewLayout invalidateLayout];
[self.collectionView setCollectionViewLayout:filmstriplayout animated:YES]; // now set the new layout
}];
Но он выглядит очень изменчивым и не изменяет размер, как ожидалось.
Есть ли способ, с помощью которого я мог бы одновременно изменить макет представления коллекции и размер кадра при анимации изменения?
performBatchUpdates:withCompletion:
хорош, но не помогает совмещать анимированные измененияframe
илиcontentOffset
. Я хочу получить это для плавной анимации масштабирования, где мой макет иcontentOffset
зависят от масштабирования. - person Benjohn   schedule 02.08.2015