你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS:UICollectionView的子類化創建

iOS:UICollectionView的子類化創建

編輯:IOS開發綜合

UICollectionView的創建基本與UITableView的創建方式相同

首先,創建繼承於UICollectionView的子類

然後在初始化方法中設置一些屬性

 

- (id)initWithFrame:(CGRect)frame
{
    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
    flowLayout.minimumInteritemSpacing = 0; //列間距
    flowLayout.minimumLineSpacing = 0;      //行間距
    self = [super initWithFrame:frame collectionViewLayout:flowLayout];
    if (self) {
        //隱藏滑塊
        self.showsHorizontalScrollIndicator = NO;
        self.showsVerticalScrollIndicator = NO;
        //設置代理
        self.delegate = self;
        self.dataSource = self;
        //設置背景顏色(默認黑色)
        self.backgroundColor = [UIColor whiteColor];
        //注冊單元格
        [self registerClass:[YSStudentStatusCell class] forCellWithReuseIdentifier:identify];
    }
    return self;
}

collectionView的協議方法基本與tableView的相同,主要區別在於cell的創建與頭視圖的創建

 

先看cell的創建

 


 

//創建cell

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

{

    ModelStudent *model = self.dataArray[indexPath.item];

//子類化的cell

    YSStudentStatusCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identify forIndexPath:indexPath];

    [cell configureWithModel:model.StuUserInfo];

    return cell;

}

 

collectionView的子類化cell創建的初始化方法如下,我用init不執行

 

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self initView];
    }
    return self;
}

collectionView頭視圖的創建,首先需要注冊頭視圖,注冊demo我一般與cell注冊寫在一塊

 

 

//collection頭視圖的注冊
        [self registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"Identifierhead"];
創建頭視圖的協議方法

 

 

//組的頭視圖創建
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    UICollectionReusableView *headView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"Identifierhead" forIndexPath:indexPath];
    headView.backgroundColor = [UIColor blueColor];
    return headView;
}

 

 

另外說明一下 flowLayout 的使用

 

flowLayout可以說是collectionView的布局屬性,設置不同 flowLayout ,可以加載出不同的collectionView的布局式樣


 

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