18

目前我正在嘗試創建一個UICollectionView,它應該顯示一個簡單的excel-like-spreadsheet,其中rowscolumns。我相信這應該是一個簡單的任務UICollectionViews。我真的想在UICollectionView中執行,而不是在任何grid framework中執行。UICollectionView:如何定義支持水平和垂直滾動的UICollectionViewLayout?

但目前我掛了一點點。我已經弄清楚了,我遺憾地不能使用UICollectionViewDelegateFlowLayout,因爲這隻支持scrolling或者horizontally或者vertically方向。但我需要兩個方向的scrolling

因此我不得不使用UICollectionViewLayout,但爲此我沒有找到好的例子,如何使用它。有沒有人舉個例子,如何繼承UICollectionViewLayout以支持rowscolumns

在此先感謝。

回答

10
+0

謝謝,這個例子對我很有幫助。如果任何人有一個水平和垂直滾動表的完整示例(在UICollectionView中實現),請隨時在此處發佈。 – AxM

+6

我已經完成了基本的網格視圖,使用UICollectionView支持水平和垂直滾動。這可能對你有所幫助https://www.dropbox.com/s/qmmzuw35nvz8v36/MyCollectionView.zip – Jirune

+1

非常感謝這個@Jirune。它適用於我,但速度很慢。你知道我可以怎樣加快速度嗎?我想知道,矩形交叉碼是我需要優化的部分。 –

7

UICollectionViewFlowLayout絕對不能 - 「網格佈局只能沿着一個軸滾動,不管是水平還是垂直。」

它是UICollectionViewLayout的一個子類。看起來像你可以創建你自己的UICollectionViewLayout的子類並向兩個方向滾動。

你是什麼意思的網頁,你想要做的分頁像scrollview?我想知道如何在UICollectionView中使用UICollectionViewFlowLayout進行垂直滾動,在UIScrollView內部進行水平滾動。

+2

是完美said..thanks .. –

+0

是的,我已經瞭解了,我必須使用UICollectionViewLayout而不是UICollectionViewFlowLayout ......這個我已經張貼在最初的問題。 所以你的評論絕對不會回答這個問題,對不起。 – AxM

4

我添加使用自定義佈局,實現一個簡單的水平&垂直滾動這裏網格的例子https://github.com/neildavis/MyCollectionView

我的例子使用PSTCollectionView,因爲我需要支持iOS 5 ,但它與API內置的UICollectionView兼容。 (實際上,它使用提供的兼容性類(PSUICollectionView等)來確保它在iOS 6上使用UICollectionView,並回退到在iOS 5上使用PSTCollectionView等。)只需刪除這些上的'PS'前綴即可恢復爲iOS 6 UIKit實現。

3

回答這個問題並不需要一個解剖樣本3個項目

在你UICollectionViewLayout子類:

  1. 實施-(CGSize)[collectionViewContentSize],並在高度和寬度上比UICollectionView的大小返回一個大小。 (可通過以下方式訪問:self.collectionView.frame.size
  2. 在內容大小而不是幀大小內計算您的UICollectionViewCell的佈局。

注意:確保在UICollectionView中啓用了滾動功能。 (它默認是開啓的。)

2

我需要類似的東西。我創建了一個Custom CollectionViewLayout。

https://github.com/akashraje/BidirectionalCollectionViewLayout

+0

這對我來說非常有用,但是由於它不會被Xcode自動拾取,所以必須小心組件的拼寫,並且一個小小的錯字會讓我在圈子裏逗留很久。 – user1702985

+0

太棒了!有了這個源,你也可以實現對一行項目的選擇。 –