IOS開發之瀑布流的實現(UICollectionView與UIScrollView)

 瀑布流可以在保證圖片原始比例的情況下,靈活的展現內容,相對於傳統的使用相同大小的網格展現大量圖片,要好上很多,而實現瀑布流的方式有很多種,網上比較流行的有三種實現方式。 
  1,使用UIScrollView,主要技術點在於視圖的重用。
  2,使用UITableView,這種方式應該是最易想到的,因爲需要展現幾列就用幾個tabelview就ok了,而且不需要考慮重用,應爲蘋果已經做好了,只需要考慮如何在幾列tabelView滑動的時候,保持同步不出現BUG。  
  3,使用UICollectionView,UICollectionView在iOS6中第一次被介紹,它與UITableView有許多相似點,但它多了一個佈局類,而實現瀑布流,就與這個佈局類有關。此種方式實現,也不需要考慮視圖重用。
  以上三種方式實現瀑布流,使用UICollectionView應該算是最簡單的了。

集合視圖:UICollectionView
UICollectionView和UITableView類似,它也是datasource和delegate設計模式的:datasource爲view提供數據源,告訴view要顯?示些什麼東?以及如何顯示它們,delegate提供一些樣式的?細節以及?戶交互的響應。
在collectionView中,對於cell的佈局比較複雜,專?使?了?個類來對collectionView的佈局和行爲進?描述,這就是 UICollectionViewLayout。UICollectionViewLayout是抽象基類,使用時用其子類新建對象。最常用的UICollectionViewLayout子類就是UICollectionViewFlowLayout(Apple提供)了。Flow Layout簡單說是一個直線對齊的layout,一般的如優酷客戶端等瀑布流樣式使用它就能搞定。當然UICollectionViewLayout也有其他有趣的子類,如堆疊佈局、圓形佈局、Cover Flow佈局等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章