2014-06-16 61 views
5

我有一個使用流佈局的uicollectionview,它有一個補充標題視圖,這是一個我只是有時想要顯示的視圖。所以基本上我想要一個按鈕,單擊它時,將從集合視圖中刪除補充視圖,並在考慮到標題已經消失的情況下重新放置集合視圖中的所有項目。這可能嗎?我用很多方法反覆嘗試過。更改引用標題大小,將標題大小的委託方法的答案更改,使佈局無效,重新加載數據等等等等。我錯過了什麼?UICollectionView無法摺疊或刪除補充視圖

我剛跑過一個測試。我認爲它與使用UIDynamics有關,它在UIDynamics中的作用是如何覆蓋我的代表響應頭部段參考大小?

+0

同樣的問題...只是將補充視圖移動到集合視圖單元格的想法。 –

回答

4

在您委託的佈局方法返回的任何狀態,你有興趣在適當的大小:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section { 
    if (self.headerVisble) { 
     return CGSizeMake(collectionView.bounds.size.width, 30.0f); 
    } 
    else { 
     return CGSizeZero; 
    } 
} 

然後,當你需要更新佈局呼叫:

[collectionView.collectionViewLayout invalidateLayout]; 

集合視圖將向Layout對象詢問新的信息,然後再詢問你的委託。我相信它也會改變這種變化。

+2

9.2.1不適合我 –