2013-05-23 2 views
1

사용자 정의 레이아웃으로 컬렉션보기를 만들었습니다.UICollectionView의 사용자 정의 레이아웃

뷰가로드 될 때 레이아웃 메서드가 호출됩니다. 그러나 서버 응답으로 높이를 변경하고 싶습니다. 하지만 사용할 때 메서드가 다시 호출되지 않습니다. [CollectionView reloadData];

이 메서드는 두 번째로 어떻게 호출 할 수 있습니까? 당신이 대리자를 설정하는 경우 collectionView [self.collectionView reloadData]를 다시로드 할 때마다

-(CGFloat)collectionView:(UICollectionView*)collectionView layout:(UICollectionViewLayout*)collectionViewLayout heightForItemAtIndexPath:(NSIndexPath*)indexPath 
{ 
    //... 
} 
+0

는 reloadData를 호출하려고 했습니까? –

+0

예 .. 질문에서 언급 한 내용도 – user2115266

+0

라고해야합니다. 더 많은 코드를 게시하고 싶을 수 있습니다. –

답변

0

제대로 대리자 메서드를 호출해야합니다. 이 레이아웃을 무효화하려고 작동하지 않는 경우

UICollectionViewLayout *layout = [self.collectionView collectionViewLayout]; 
[layout invalidateLayout]; 
[self.collectionView setCollectionViewLayout:layout animated:YES]; 
관련 문제