显示像电子表格单元格一样的视图。
iOS 6.0或更高版本
通过CocoaPods
pod 'TAXSpreadSheet'
导入头文件
#import "TAXSpreadSheet.h"
实例化TAXSpreadSheet并注册UICollectionViewCell或其子类作为单元格,与UICollectionView相同。
TAXSpreadSheet *spreadSheet = [[TAXSpreadSheet alloc] initWithFrame:CGRectMake(0.0. 0.0. 100.0, 100.0)];
[spreadSheet registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"Cell"];
设置DataSource和Delegate对象并实现这些方法。
- (NSUInteger)numberOfColumnsInSpreadSheet:(TAXSpreadSheet *)spreadSheet
{
return 10;
}
- (NSUInteger)numberOfRowsInSpreadSheet:(TAXSpreadSheet *)spreadSheet
{
return 20;
}
- (UICollectionViewCell *)spreadSheet:(TAXSpreadSheet *)spreadSheet cellAtRow:(NSUInteger)row column:(NSUInteger)column
{
UICollectionViewCell *cell = [spreadSheet dequeueReusableCellWithReuseIdentifier:@"Cell" forRow:row column:column];
// Customize cells.
return cell;
}
您应该在spreadSheet:cellAtRow:column
中从SpreadSheet返回dequeued UICollectionViewCell子类。
您可以通过实现代理方法来指定行的高度、列的宽度、行/列间的间距。如果使用默认值,返回NSNotFound。
- (CGFloat)spreadSheet:(TAXSpreadSheet *)spreadSheet heightAtRow:(NSUInteger)row
{
if (row == 0) {
return 100.0;
} else {
return 50.0;
}
}
您可以通过实现代理方法使用自定义UICollectionReusableView子类来在行/列间使用。您应该从SpreadSheet中注册类和预览视图。如果不使用视图,返回nil。
- (UICollectionReusableView *)spreadSheet:(TAXSpreadSheet *)spreadSheet interRowViewBelowRow:(NSUInteger)row
{
if (row == 0) {
UICollectionReusableView *view = [spreadSheet dequeueReusableInterRowViewWithIdentifier:@"View" belowRow:row];
return view;
} else {
return nil;
}
}
MIT许可证