2012-10-28 3 views
0

UICollectionViewFlowLayout을 무시하려고하는데 이상한 것을 깨달았습니다. 항목이 UICollectionView에 추가됩니다 이상한 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 

으로 reloadData

라고 : 여기 당신은 약간의 코드를 볼 수 있습니다. ReloadData은 항상 레이아웃을 다시 초기화하므로 prepareLayout을 반복해서 호출하며 prepareForCollectionViewUpdates을 호출하지 않습니다.

어떻게 처리해야할까요?

+0

업데이트 : 해결, textFieldShouldReturn 메서드에서 reloadData 대신 batchUpdate를 사용해야했습니다. –

답변

0

해결되었으므로 textFieldShouldReturn 메소드에서 reloadData 대신 batchUpdate를 사용해야했습니다.

+0

'performBatchUpdate : completion :'은'UICollectionView'에 대한 메소드 호출입니다. –