你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS UIKit之UICollectionView

iOS UIKit之UICollectionView

編輯:關於IOS

學習iOS最多的控件是UITableView和UICollectionView,只要做APP肯定離不開這兩個組件了,因為手頭上面在搞天氣預報的app,用到了UICollectionView,也希望在這次的知識梳理的過程中不斷深化知識,也發現新的問題。
查看一下文檔,在iOS6之後,多出來了UICollectionView,基本上和UITableView的API差不多,都需要設置DataSource和Delegate.
在實際的使用中我們都會自定義我們自己的Cell。那我們先簡單了解一下,結構。構成CollectionView分為3個結構:
Cell 單元格 顯示信息
SupplementaryViews 頁眉頁腳
Decoration Views 裝飾整個View
如果要實現CollectionView的話,基本需要實現`UICollectionViewDataSource`,`UICollectionViewDelegate`,`UICollectionViewDelegateFlowLayout`這三個協議,接下來就一一講解一下。

`UICollectionViewDataSource`:用於向Collection View提供數據,有以下方法:
1.Section數目:

func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int
2.Section裡面有多少item

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
3.提供Cell設置

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
UICollectionViewDelegate:用於交互,有以下方法:
1.管理cell的高亮

optional func collectionView(collectionView: UICollectionView, shouldHighlightItemAtIndexPath indexPath: NSIndexPath) -> Bool
optional func collectionView(collectionView: UICollectionView, didHighlightItemAtIndexPath indexPath: NSIndexPath)
optional func collectionView(collectionView: UICollectionView, didUnhighlightItemAtIndexPath indexPath: NSIndexPath)
2.管理cell的選擇

optional func collectionView(_ collectionView: UICollectionView, shouldSelectItemAtIndexPath indexPath: NSIndexPath) -> Bool
optional func collectionView(_ collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
optional func collectionView(_ collectionView: UICollectionView, shouldDeselectItemAtIndexPath indexPath: NSIndexPath) -> Bool
UICollectionViewLayout進行排版,布局的作用
1.定義每個UICollectionView 的大小

optional func collectionView(_collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
2.定義每個UICollectionView 的 margin

optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets
當你使用nib文件來設計Cell的時候,一定要記住的是,你對於他的樣式都發生了改變,否則沒必要使用nib文件,這也是我最近一直沒搞懂什麼時候使用nib文件,什麼時候直接在 storyboard操作就可以了。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved