代码如下:
#import "MSViewController.h"
@interface CollectionCell : UICollectionViewCell
@property (nonatomic, weak) UILabel *titleLabel;
@end
@implementation CollectionCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
UILabel *titleLabel = [[UILabel alloc] initWithFrame:self.bounds];
[titleLabel setTextAlignment:NSTextAlignmentCenter];
self.titleLabel = titleLabel;
[self.contentView addSubview:self.titleLabel];
self.backgroundColor = [UIColor yellowColor];
}
return self;
}
@end
@interface MSViewController () <UICollectionViewDataSource>
@property (nonatomic, weak) UICollectionView *collectionView;
@end
@implementation MSViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//每项大小
CGSize itemSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, CGRectGetHeight(self.view.bounds));
UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout new];
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; //设置哪种方向滚动
layout.itemSize = itemSize;
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
collectionView.backgroundColor = [UIColor whiteColor];
collectionView.dataSource = self;
[collectionView registerClass:[CollectionCell class] forCellWithReuseIdentifier:@"Cell"];
self.collectionView = collectionView;
[self.view addSubview:self.collectionView];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - UICollectionViewDataSource methods
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return 5;
}
// The cell that is returned must be retrieved from a call to -dequeueReusableCellWithReuseIdentifier:forIndexPath:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifierCell = @"Cell";
CollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifierCell forIndexPath:indexPath];
cell.titleLabel.text = [NSString stringWithFormat:@"%d",indexPath.row];
return cell;
}
@end
效果: