我正在尝试覆盖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。
你知道怎么处理它吗?
发布于 2012-10-29 21:53:21
解决了这个问题,我不得不在textFieldShouldReturn方法中使用batchUpdate而不是reloadData。
https://stackoverflow.com/questions/13113403
复制相似问题