2012-12-19 141 views
3

在我的ViewController中,我有四個子視圖,即UITableView,UICollectionView,View with UILabels和View來顯示該項目的預覽圖像。重新加載子視圖(UICollectionview)

通過在tableview中選擇一行,我可以更改預覽圖像和所有標籤。但是我無法刷新UICollectionView數據。我嘗試了this解決方案,但它只是刪除並添加視圖,並且更改佈局和預覽圖像消失。

我想要做的就是刷新UICollectionView的內容。有沒有更簡單的方法來做到這一點?

回答

7

你試過[self.collectionView reloadData];

+0

該死!我怎麼錯過了?這正是我想要的。謝謝.. –

0

假設你已經正確地迷上了你的UICollectionView到數據源(UICollectionViewDataSource),你可以調用[myCollectionView reloadData],使您的收藏視圖調用你的數據源的方法(如下)刷新自己:

– 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]; 
相關問題