をオーバーライドしようとしていますが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
れません。
それを処理する方法はありますか?