之前已经有HomeViewController中放置一个tableView。要在tableViewCell中添加collectionView。
1,tableViewCell.xib中拖拽一个CollectionView。
2,UICollectionDataSource,UICollectionDelegate交给tableViewCell
3,collectionView拖线给tableViewCell类
4,创建CollectionCell类和xib。identifier设置为“CollectionCell“
5,CollectionCell.m中
//重写initWithFrame方法
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
// 初始化时加载collectionCell.xib文件
NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"HomeCollectionCell" owner:self options:nil];
// 如果路径不存在,return nil
if (arrayOfViews.count < 1)
{
return nil;
}
// 如果xib中view不属于UICollectionViewCell类,return nil
if (![[arrayOfViews objectAtIndex:0] isKindOfClass:[UICollectionViewCell class]])
{
return nil;
}
// 加载nib
self = [arrayOfViews objectAtIndex:0];
}
return self;
}
6,tableViewCell.m中
import "CollectionCell"
//注册CollectionCell
- (void)awakeFromNib{
[self.collectionView registerClass:[CollectionCell class] forCellWithReuseIdentifier:@"CollectionCell"];
}
4,控制器HomeViewController.m中
#pragma mark - UICollectionDataSource
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 12;
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
HomeCollectionCell *cell = (HomeCollectionCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"HomeCollectionCell" forIndexPath:indexPath];
return cell;
}