iOS 较好的文章

UICollectionView 基本使用

2015-05-18  本文已影响3799人  mayday2024

控制器继承UICollectionViewController 它自动遵守数据源 和 代理了。

1.实现数据源方法

pragma mark - collectionView数据源方法

/**

/**

/**

}

2。注册cell (viewDidLoad 方法实现)
(这个cell 是XIB) XIB 里面要设置 彩票那
// 注册cell(如果缓存池没有找到对应cell,则会创建该方法注册的cell)
UINib *nib = [UINib nibWithNibName:@"CZProductCell" bundle:nil];
[self.collectionView registerNib:nib forCellWithReuseIdentifier:@"Product"];

3.布局

// UICollectionViewLayout *layout = [[UICollectionViewLayout alloc] init];要子类才行 下面这个
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
// 设置item尺寸
layout.itemSize = CGSizeMake(80, 80);
// 设置item之间的间隔
layout.minimumInteritemSpacing = 0;
// 设置行之间间隔
layout.minimumLineSpacing = 20;
// 设置组的内边距
layout.sectionInset = UIEdgeInsetsMake(20, 0, 0, 0);
if (self = [super initWithCollectionViewLayout:layout]) {

}
return self;

}

另外这种自定义CELL是没有XIB的
// 注册cell,默认就会创建这个类型的cell
[self.collectionView registerClass:[CZNewFeatureCell class] forCellWithReuseIdentifier:ID];

// 分页(这个是新特性那里)
self.collectionView.pagingEnabled = YES;
self.collectionView.bounces = NO;
self.collectionView.showsHorizontalScrollIndicator = NO;

//也是重写init

//UICollectionView被选中时调用的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
cell.backgroundColor = [UIColor whiteColor];
}

//返回这个UICollectionView是否可以被选择
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}

上一篇 下一篇

猜你喜欢

热点阅读