2013-07-16 44 views
23

我正在使用UICollectionView,並且需要全局頁眉和頁腳以及部分頁眉。全局頁眉和頁腳都應該與其餘內容一起滾動。基本上他們應該像UITableView的tableHeaderView和tableFooterView屬性一樣工作。UICollectionView頁眉和頁腳視圖

diagram

從我的理解補充意見的上方或下方的特定部分和裝修意見是無功能。我的全球頁眉和頁腳應該有互動元素。

我真的拉了幾個小時後,我的頭髮出來。我發現了一些令人討厭的方式,比如使用contentInsets進行黑客入侵併將子視圖添加到collectionview。我真正想要的是一個乾淨的方式來做到這一點。

我期待着任何建議!

+4

這個可憐的傢伙這裏問完全相同的問題,但沒有任何反應:http://stackoverflow.com/questions/14515975/how -can-i-set-the-entire-header-view-to-uicollectionview?rq = 1 – paul

+0

可能的副本[如何使UICollectionView中的補充​​視圖浮動爲UITableView普通樣式中的Section Headers](http:// stackoverflow .COM /問題/ 13511733 /如何對化妝supplementa ry-view-float-in-uicollectionview-as-section-headers-do-i) – staticVoidMan

+0

如果頁眉和頁腳是固定的,那麼你可以在collectionview的頂部和底部手動添加它,希望它的幫助。 – Prabhat

回答

-2

修復此在cellForItemAtIndexPath委託方法

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 
if (indexPath.section == 0) 
    { 
     // first section 
    } 
else if (indexPath.section == [dataSourceSectionsArray.count]-1) 
    { 
     // last section 
    } 
else 
    { 
     // normal section 
    } 
} 

而且你當然應該返回[dataSourceSectionsArray.count] +2在numberOfRowsInSection方法和牢記始終引用(一個頁眉,頁腳一個) [dataSourceSectionsArray objectAtIndex:indexPath.row-1]當您訪問正常單元格中的數據時,因爲沒有對象與數組中的標題對應。

4

包括全球頁眉和頁腳是第一個和最後一節

+0

這是一個可以接受的答案。保持簡單,沒有必要使其更加完整 – Ducky

4

你必須創建自己的自定義集合視圖佈局和數據源的細胞(UICollectionViewCell)。數據源將返回全局標題和全局頁腳,以及部分頁眉和頁腳,並且您的自定義集合視圖佈局必須相應地定位它們。

這不是一個非常簡單的過程。

在WWDC高級用戶界面集合視圖中,他們用示例代碼描述了他們如何創建全局標題的方法。您可以使用他們的示例代碼,然後添加一個全局頁腳部分。

從蘋果:

Advanced User Interfaces with Collection Views

Demonstrates code factoring, swipe to edit, drag reordering, and a sophisticated custom collection view layout.