你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> UICollectionView代碼創建.以及和 TableView 的區別

UICollectionView代碼創建.以及和 TableView 的區別

編輯:IOS開發基礎

原文

UICollectionView代碼創建

簡介:

UICollectionView是UIScrollView的子類,顯示一組 UICollectionCell 或其子類

UICollectionViewController有數據源,委托 (UICollectionViewDelegate),布局類

1.數據源:UICollectionViewController.返回幾行幾列等方法

2.委托:UICollectionViewDelegate,哪一列被點擊打等方法.

3.布局類:為每個 Cell 布局,如果想按網格布局,則可以使用 UICollectionViewFlowLayout,如果想自定義布局,可以創建 UICollectionViewLayout 的自定義子類.

UICollectionViewCell的 contentView 默認是沒有子試圖的,所以需要自定義 創建UICollectionViewCell的子類,來添加你想用來顯示的東西

創建步驟

網上很多教程都直接在 ViewDidLoad 中創建,但是好像並沒什麼用,具體細節還有待深究,我的做法是直接將 ViewController 的 view 設置為 CollectionView(創建 UICollectionViewController 文件,並且設置為原始 viewController 的類)

1.聲明一個全局變量 UICollectionView *coll,在 loadView 創建 UICollectionView,和 UICollectionViewFlowOut

 - (void)loadView
 {
  UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
 _coll = [[UICollectionView alloc] initWithFrame:CGRectMake(0,   0, 500, 500) collectionViewLayout:layout];
 self.view = _coll;
 _coll.backgroundColor = [UIColor whiteColor];
   }

2.viewDidLoad 中注冊 Cell ,以便重用,並且設置數據源和 DataSource代理為自己

- (void)viewDidLoad {
[super viewDidLoad];

_coll.delegate = self;
_coll.dataSource = self;

// Register cell classes
[_coll registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];

// Do any additional setup after loading the view.

3.設置數據源

#pragma mark - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}


- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return 4;
}
//注冊 Cell
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

cell.backgroundColor = [UIColor blueColor];

return cell;

4.布局可以實現在FlowOut 協議中的方法來設置 item 大小,外邊距等,這個可以看下文檔實現,到這裡基本的代碼構建就完成了

UICollectionView 和 UITableView 的不同之處

1.最大的不同在於,UITableView 只顯示UITableViewCell 一列,而 UICollectionView 可以任意安排 UICollectionCell

2.UICollectionCell 的 contentView 沒有子試圖,需要自定義,UITableViewCell 可以用默認的

其他倒是都差不多


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