2012-12-19 4 views
3

내 ViewController에서 UITableView, UICollectionView, UILabels보기 및 해당 항목의 미리보기 이미지를 표시하는보기 등 네 가지 하위보기가 있습니다.하위보기 (UICollectionview) 다시로드

tableview에서 행을 선택하면 미리보기 이미지와 모든 레이블을 변경할 수 있습니다. 그러나 UICollectionView 데이터를 새로 고칠 수 없습니다. 난 this 솔루션을 시도했지만 그냥 제거하고보기를 추가하고 그 레이아웃을 변경하고 미리보기 이미지가 사라집니다.

내가하고 싶은 것은 UICollectionView 내용을 새로 고치는 것입니다. 이 작업을 수행하는 간단한 방법이 있습니까?

답변

7

[self.collectionView reloadData];을 사용해 보셨습니까? 올바르게 데이터 소스 (UICollectionViewDataSource), 당신이 당신의 콜렉션 뷰 (아래로) 당신은 dataSource의 메소드를 호출 할 [myCollectionView reloadData]를 호출 할 수 있습니다에 UICollectionView를 엮은 한 가정

+0

젠장! 나는 그것을 어떻게 놓쳤는가? 그게 내가 원하는 것. 고마워. –

0

자체를 새로 고치려면 :

– collectionView:numberOfItemsInSection: 
– numberOfSectionsInCollectionView: 
– collectionView:cellForItemAtIndexPath: 
– collectionView:viewForSupplementaryElementOfKind:atIndexPath: 
+0

안녕 토미. 네, 모든 것이 잘 연결되어 있었고 VC가 처음로드 될 때 UICollectionView에서 데이터를로드 할 수있었습니다. 해당 ViewController 내에서 항목을 변경하려고했을 때만 작동하지 않았습니다. 그러나 아래의 솔루션을 사용하면 문제가 없습니다. 즉 [self.collectionView reloadData] ;. 감사.. –

1

만 새로 고치려면 UICollectionView의 일부로 다음과 같이 호출 할 수도 있습니다.

[self.collectionView reloadItemsAtIndexPaths:@[indexPath]] 

여기서 indexPath는 다시로드하려는 셀입니다. 배열에 여러 인덱스 경로를 포함 할 수도 있습니다. 첫 번째 섹션 전체를 새로 고침하려면

NSIndexSet *sections = [NSIndexSet indexSetWithIndex:0]; 
[self.collectionView reloadSections:sections]; 
관련 문제