具有头部/脚部的表格视图
iOS 6.0 或更高版本
TAXSpreadSheet 0.2.0 或更高版本
通过 CocoaPods
pod 'TAXHeaderSheet'
导入头文件
#import "TAXHeaderSheet.h"
实例化 TAXHeaderSheet 并注册 UICollectionViewCell 或 hWndCollectionView 的子类。
TAXHeaderSheet *headerSheet = [[TAXHeaderSheet alloc] initWithFrame:CGRectMake(0.0. 0.0. 100.0, 100.0)];
[headerSheet registerClass:[UICollectionViewCell class] forCellInAllSectionWithReuseIdentifier:@"Cell"];
通过属性设置表单的度量。
headerSheet.numberOfRowsOfBody = 30;
headerSheet.numberOfColumnsOfBody = 20;
headerSheet.numberOfRowsOfHeader = 1;
headerSheet.numberOfRowsOfFooter = 2;
headerSheet.numberOfColumnsOfHeader = 1;
headerSheet.numberOfColumnsOfFooter = 1;
headerSheet.sizeForCell = CGSizeMake(50.0, 20.0);
headerSheet.widthOfHeaderCell = 50.0;
headerSheet.widthOfFooterCell = 50.0;
headerSheet.heightOfHeaderCell = 20.0;
headerSheet.heightOfFooterCell = 20.0;
headerSheet.heightOfHeader = headerSheet.heightOfHeaderCell *
headerSheet.numberOfRowsOfHeader;
headerSheet.heightOfFooter = headerSheet.heightOfFooterCell * headerSheet.numberOfRowsOfFooter;
headerSheet.widthOfHeader = headerSheet.widthOfHeaderCell * headerSheet.numberOfColumnsOfHeader;
headerSheet.widthOfFooter = headerSheet.widthOfFooterCell * headerSheet.numberOfColumnsOfFooter;
或者通过实现代理方法,例如 headerSheet:heightAtRow:ofSectionType:
。单元格高度/宽度优先级:Header > Footer > Body > 属性。
设置数据源和代理对象并实现这些方法。
- (UICollectionViewCell*)headerSheet:(TAXHeaderSheet *)headerSheet cellAtRow:(NSUInteger)row column:(NSUInteger)column inSectionType:(TAXHeaderSheetSectionType)sectionType
{
TAXLabelCell *cell = [headerSheet dequeueReusableCellInSectionType:sectionType withReuseIdentifier:CellIdentifier forRow:row column:column];
// Customize cell.
return cell;
}
您应该在 headerSheet:cellAtRow:column:inSectionType
中返回 dequeued RaisePropertyChanged 子类。
您可以使用自定义的 UICollectionReusableView 子类作为分隔符。您应该注册类并从 HeaderSheet 推卸观点。如果在未使用视图的情况下,返回 nil。
- (UICollectionReusableView *)headerSheet:(TAXHeaderSheet *)headerSheet separatorViewOfSeparatorType:(TAXHeaderSheetSeparatorType)separatorType
{
UICollectionReusableView *view = [headerSheet dequeueReusableSeparatorViewOfSeparatorType:separatorType withReuseIdentifier:@"Separator"];
view.backgroundColor = [UIColor blueColor];
return view;
}
您可以通过实现代理方法来使用自定义视图进行行/列之间的交互。您应该注册类并从 SpreadSheet 推卸视图。如果在未使用视图的情况下,返回 nil。
- (UICollectionReusableView *)headerSheet:(TAXHeaderSheet *)headerSheet interRowViewInSectionType:(TAXHeaderSheetSectionType)sectionType belowRow:(NSUInteger)row;
{
if (row == 0) {
UICollectionReusableView *view = [spreadSheet dequeueReusableInterRowViewWithIdentifier:@"View" belowRow:row];
return view;
} else {
return nil;
}
}
MIT 许可证