我正在继承UICollectionViewController.
UITableView
标题重复。
我需要标题为“单一”并始终位于屏幕顶部(如导航栏)。
我正在使用以下代码:
我的UICollectionViewController
课程:
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return [categoryArray count] / 2;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 2;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CategoryCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CategoryCell" forIndexPath:indexPath];
CategoryViewModel *category = [categoryArray objectAtIndex:(indexPath.section*2 + indexPath.row)];
cell.name.text = category.name;
cell.image.image = category.image;
return cell;
}
-(UICollectionReusableView *) collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
if(headerIndexPath == nil){
headerIndexPath = indexPath;
}
CategoryScreenHeader *categoryScreenHeader = [collectionView dequeueReusableSupplementaryViewOfKind:
UICollectionElementKindSectionHeader withReuseIdentifier:@"CategoryScreenHeader" forIndexPath:headerIndexPath];
categoryScreenHeader.headerName.text = @"Some title";
categoryScreenHeader.headerImage.image = [UIImage imageNamed:@"step-0.png"];
return categoryScreenHeader;
}
谢谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
UICollectionView没有像UITableView这样的表头(据我所知),只有与内容一起滚动的节头。
如果您希望屏幕顶部的视图停留在那里,那么您应该将2个子视图添加到控制器的视图中,一个用于标题,另一个用于集合视图。将集合视图插入到底部子视图中,而不是插入控制器的主视图中。删除collectionView中的代码:viewForSupplementaryElementOfKind:atIndexPath :(除非你想要节标题)。