2014-06-11 16 views
0

我還是UICollectionView的新手,所以我需要幫助瞭解如何正確鏈接佈局和數據。比方說,我正在使用基本流佈局(或其子類)與部分的單列項目。根據節的內容,我想將標題左右放置。UICollectionView - 根據數據自定義項目佈局的正確方法?

標題和我的數據的佈局屬性發生何種連接?我似乎無法連接點..

回答

0

http://www.objc.io/issue-3/collection-view-layouts.html

一般有兩種類型的集合視圖佈局:

佈局,其計算是獨立的內容。這是您通過UITableView和UICollectionViewFlowLayout所瞭解的「簡單」案例。每個單元格的位置和外觀不取決於它顯示的內容,而取決於它在所有單元格列表中的順序。以默認流程佈局爲例。每個單元格都位於其前任的旁邊(如果沒有剩餘空間,則位於下一行的開頭)。佈局對象不需要訪問實際數據來計算佈局。

需要做內容相關計算的佈局。我們的日曆視圖就是這種類型的一個例子。它要求佈局對象直接詢問集合視圖的數據源來查看它應該顯示的事件的開始和結束日期。在許多情況下,佈局對象不僅需要關於當前可見單元格的數據,還需要從所有記錄中獲取一些信息,以確定哪些單元格當前可見。

在我們的日曆示例中,佈局對象(如果要求提供某個矩形內的單元格屬性)必須迭代數據源提供的所有事件,以確定哪些事件位於請求的時間窗口中。將其與流佈局相比較,其中一些相對簡單且與數據源無關的數學運算足以計算位於特定矩形中的單元的索引路徑(假定網格中的所有單元具有相同的大小)。

擁有依賴於內容的佈局很強烈地表明您需要編寫自己的自定義佈局類,並且不會通過自定義UICollectionViewFlowLayout來獲取。所以這正是我們要做的。

UICollectionViewLayout的文檔列出了子類應該覆蓋的方法。

我建議你在那裏閱讀並看看他們的日曆示例。

相關問題