UICollectionView簡單使用

UICollectionView的使用方法與UITableView十分類似,佈局

使用UICollectionViewController要實現如下三個步驟:spa

// 一.初始化的時候設置佈局參數code

// 二.必須collectionView註冊cellorm

// 三.自定義cell對象

 

 

1.重寫init方法,在init方法中調用initWithCollectionViewLayout這個帶佈局參數的方法,方便用init方式建立一個UICollectionViewController。blog

2.建立UICollectionViewLayout佈局的時候通常用它的子類UICollectionViewFlowLayout來建立一個流水佈局。繼承

3.設置佈局對象的參數:單元格的排列方向,間距,大小圖片

 1 -(instancetype)init
 2 {
 3     //流水佈局
 4     UICollectionViewFlowLayout* layout=[[UICollectionViewFlowLayout alloc]init];
 5     
 6     //設置縱向排列
 7     layout.scrollDirection=UICollectionViewScrollDirectionHorizontal;
 8     
 9     //設置每一個cell間的距離
10     layout.minimumLineSpacing=0;
11 
12     //設置cell大小
13     layout.itemSize=[UIScreen mainScreen].bounds.size;
14     
15     //初始化一個流水佈局的collectController
16     return [self initWithCollectionViewLayout:layout];
17 }

 

1.註冊單元格類型ci

2.由於UICollectionViewController的collectionView繼承自UIScrollView,因此能夠設置它的分頁,彈簧效果等屬性string

 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     
 4     //註冊cell,  WBFeatureCell是自定義UICollectionViewCell
 5     [self.collectionView registerClass:[WBFeatureCell class] forCellWithReuseIdentifier:reuseIdentifier];
 6     
 7     //設置分頁
 8     self.collectionView.pagingEnabled=YES;
 9     //設置彈簧效果
10     self.collectionView.bounces=NO;
11     //設置滾動條
12     self.collectionView.showsHorizontalScrollIndicator=NO;
13     
14 }

 

 1 循環利用的標識:  static NSString * const reuseIdentifier = @"Cell";
#pragma mark <UICollectionViewDataSource> 設置數據源方法
 2 /**
 3  *設置分組數量
 4  */
 5 - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
 6   return 1;
 7 }
 8 
 9 
10 /**
11  *設置cell數量
12  */
13 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
14     return 4;
15 }
16 
17 /**
18  *設置每個cell的內容,這個方法會調用屢次來設置每個cell
19  */
20 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
21     WBFeatureCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
22 
23     //加載圖片
24     UIImage* img=[UIImage imageNamed: [NSString stringWithFormat:@"new_feature_%@",@(indexPath.row+1)]];
25     cell.image=img;
26   
27     return cell;
28 }

 

自定義cell 的時候要注意把內容加到contentView上面

[self.contentView addSubview:imgView];

相關文章
相關標籤/搜索