iOS开发 关于 创建Excel类型表格

iOS开发 关于 创建Excel类型表格_第1张图片
image.png

功能如图,有表头,项目,可以增删行列
基本组成 tableView +CollectionView;
表头是headView+ CollectionView
行组成 label + CollectionView

主要技术点是在联动上,滑动cell上的item或者header的item要形成一个整体
tableView 和 CollectionView都继承与scrollView
我们可以让他们contentOffset保持一致

- (void)scrollViewDidScroll:(UIScrollView*)scrollView
{
    if ([scrollView isKindOfClass:[UICollectionView class]]) {
        
        if (scrollView.contentOffset.y != 0) {
            scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x, 0);
            return;
        }
        for (TJXExcelTableViewCell* cell in self.tableView.visibleCells) {
            for (UIView *view in cell.contentView.subviews) {
                if ([view isKindOfClass:[UICollectionView class]]) {
                    UICollectionView *collectionView = (UICollectionView *)view;
                    collectionView.contentOffset = scrollView.contentOffset;
                }
            }
        }
//
        [self.parm setValue:[NSValue valueWithCGPoint:scrollView.contentOffset] forKey:JXContentTableViewCellCollectionViewObserver];
    }
}
#pragma mark lazyLoading
-(UITableView *)tableView{
    if (!_tableView) {
        _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, LSDScreenW, LSDScreenH-64) style:(UITableViewStylePlain)];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        self.tableView.estimatedSectionHeaderHeight = 0;
        self.tableView.estimatedSectionFooterHeight = 0;
        self.tableView.bounces = NO;
        self.tableView.showsVerticalScrollIndicator = NO;
        self.tableView.showsHorizontalScrollIndicator = NO;
    }
    return _tableView;
}
-(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context{
    if ([keyPath isEqualToString:TopCollectionViewObserver]) {
        for (TJXExcelTableViewCell* cell in self.tableView.visibleCells) {
            for (UIView *view in cell.contentView.subviews) {
                if ([view isKindOfClass:[UICollectionView class]]) {
                    UICollectionView *collectionView = (UICollectionView *)view;
                    collectionView.contentOffset =  topview.collectionView.contentOffset;
                }
            }
        }
    }
    if ([keyPath isEqualToString:JXContentTableViewCellCollectionViewObserver]) {
        for (TJXExcelTableViewCell *cell in self.tableView.visibleCells) {
            for (UIView *view in cell.contentView.subviews) {
                if ([view isKindOfClass:[UICollectionView class]]) {
                    UICollectionView *collectionView = (UICollectionView *)view;
                   topview.collectionView .contentOffset = collectionView.contentOffset;
                }
            }
        }
    }
}

你可能感兴趣的:(iOS开发 关于 创建Excel类型表格)