Пытаюсь переопределить UICollectionViewFlowLayout
, но понял кое-что странное. Здесь вы можете увидеть небольшой фрагмент кода:
#import <UIKit/UIKit.h>
@interface SimpleFlowLayout : UICollectionViewFlowLayout
@end
@implementation SimpleFlowLayout
- (void)prepareLayout {
...
}
- (void)prepareForCollectionViewUpdates:(NSArray *)updateItems {
...
}
- (void)finalizeCollectionViewUpdates {
...
}
- (UICollectionViewLayoutAttributes *)
initialLayoutAttributesForAppearingItemAtIndexPath:
(NSIndexPath *)itemIndexPath {
...
}
- (UICollectionViewLayoutAttributes *)
finalLayoutAttributesForDisappearingItemAtIndexPath:
(NSIndexPath *)itemIndexPath {
...
}
@end
Когда элемент добавляется к UICollectionView
, вызывается reloadData
. ReloadData
всегда повторно инициализирует макет, поэтому он будет вызывать prepareLayout
снова и снова и никогда не будет вызывать prepareForCollectionViewUpdates
вообще.
У вас есть идеи, как с этим справиться?