我有ios UICollectionView与Flow布局水平滚动方向.
在这种情况下,典型的标题位置在单元格的左侧.
在这种情况下,典型的标题位置在单元格的左侧.
我想使标题在单元格的顶部
你有什么想法我该怎么做?
解决方法
我认为您可以使用标题的标准行为来获得所需的内容.
设置(可能在viewDidLoad中):
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; flowLayout.headerReferenceSize = CGSizeMake(self.collectionView.bounds.size.width,30); // other setup [self.collectionView setCollectionViewLayout:flowLayout];
然后回答标题视图:
#define MY_HEADER_LABEL_TAG 128
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(Nsstring *)kind atIndexPath:(NSIndexPath *)indexPath {
UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:
UICollectionElementKindSectionHeader withReuseIdentifier:@"SectionHeader" forIndexPath:indexPath];
UILabel *label = (UILabel *)[headerView viewWithTag:MY_HEADER_LABEL_TAG];
if (!label) {
label = [[UILabel alloc] initWithFrame:CGRectInset(headerView.bounds,5,5)];
label.tag = MY_HEADER_LABEL_TAG;
label.font = [UIFont boldSystemFontOfSize:12];
label.textColor = [UIColor darkGrayColor];
[headerView addSubview:label];
}
label.text = [Nsstring stringWithFormat:@"Section %d",indexPath.section];
return headerView;
}