Swiftpack.co - Package - josercc/ZHTableViewGroup

filename:images

Swift 版本请移步这里

ZHTableViewGroupUITableViewUICollectionView 而生

演示

简单的列表

image-20200928175235608

ZHTableViewDataSource *dataSource = [[ZHTableViewDataSource alloc] initWithTableView:self.tableView];
[dataSource clearData];
[dataSource addGroupWithCompletionHandle:^(ZHTableViewGroup * _Nonnull group) {
    [group addCellWithCompletionHandle:^(ZHTableViewCell *tableViewCell) {
        tableViewCell.anyClass = [UITableViewCell  class];
        tableViewCell.identifier = @"UITableViewCell";
        NSArray<NSString *> *titles = @[@"刷新高度",@"刷新Cell",@"刷新数据",@"显示和隐藏"];
        tableViewCell.cellNumber = titles.count;
        [tableViewCell setConfigCompletionHandle:^(UITableViewCell *cell, NSIndexPath *indexPath) {
            cell.textLabel.text = titles[indexPath.row];
        }];
    }];
}];
[dataSource reloadTableViewData];

动态刷新高度

image-20200928175932428

[self.tableViewDataSource clearData];
[self.tableViewDataSource addGroupWithCompletionHandle:^(ZHTableViewGroup *group) {
    [group addCellWithCompletionHandle:^(ZHTableViewCell<ReloadHeightCell1 *> *cell) {
        self->_weakCell = cell;
        cell.anyClass = [ReloadHeightCell1 class];
        cell.identifier = @"ReloadHeightCell1";
        [cell setConfigCompletionHandle:^(ReloadHeightCell1 *cell1, NSIndexPath *indexPath) {
            cell1.textLabel.text = @"ReloadHeightCell1";
        }];
    }];
}];
[self.tableViewDataSource addGroupWithCompletionHandle:^(ZHTableViewGroup *group) {
    [group addCellWithCompletionHandle:^(ZHTableViewCell<ReloadHeightCell2 *> *cell) {
        cell.anyClass = [ReloadHeightCell2 class];
        cell.identifier = @"ReloadHeightCell2";
        cell.cellNumber = 2;
        [cell setConfigCompletionHandle:^(ReloadHeightCell2 *cell1, NSIndexPath *indexPath) {
            cell1.textLabel.text = @"ReloadHeightCell2";
        }];
    }];
}];
[self.tableViewDataSource reloadTableViewData];

identifier更新自动高度

[self.tableViewDataSource reloadCellAutomaticHeightWithIdentifier:@"ReloadHeightCell1"]

identifier更新固定250高度

[self.tableViewDataSource reloadCellFixedHeight:250 identifier:@"ReloadHeightCell1"]

Class更新自动高度

[self.tableViewDataSource reloadCellAutomaticHeightWithClass:NSClassFromString(@"ReloadHeightCell1")]

Class更新固定260高度

[self.tableViewDataSource reloadCellFixedHeight:260 className:NSClassFromString(@"ReloadHeightCell1")]

指定ZHTableViewCell更新自动高度

[self.tableViewDataSource reloadCellAutomaticHeightWithTableViewCell:self.tableViewDataSource.groups[0].cells[0]]

指定ZHTableViewCell更新固定270高度

[self.tableViewDataSource reloadCellFixedHeight:270 tableViewCell:self.tableViewDataSource.groups[0].cells[0]]

指定索引更新自动高度

[self.tableViewDataSource reloadCellAutomicHeightWithGroupIndex:1 cellIndex:0]

指定索引更新固定280高度

[self.tableViewDataSource reloadCellFixedHeight:280 groupIndex:1 cellIndex:0]

刷新值

image-20200928180955425

[self.tableViewDataSource clearData];
[self.tableViewDataSource addGroupWithCompletionHandle:^(ZHTableViewGroup *group) {
    [group addCellWithCompletionHandle:^(ZHTableViewCell *cell) {
        cell.anyClass = [UITableViewCell class];
        cell.identifier = @"UITableViewCell";
        [cell setConfigCompletionHandle:^(UITableViewCell *cell, NSIndexPath *indexPath) {
            cell.textLabel.text = [@(random() % 99 + 1) stringValue];
        }];
    }];
}];
[self.tableViewDataSource reloadTableViewData];

通过Identifier刷新

[self.tableViewDataSource reloadCellWithIdentifier:@"UITableViewCell"]

通过Class刷新

[self.tableViewDataSource reloadCellWithClassName:[UITableViewCell class]]

通过指定UITableViewCell更新

[self.tableViewDataSource reloadCellWithTableViewCell:self.tableViewDataSource.groups[0].cells[0]]

通过索引更新

[self.tableViewDataSource reloadCellWithGroupIndex:0 cellIndex:0]

刷新个数

image-20200928181349639

_randoms = [NSMutableArray arrayWithArray:@[@"random"]];
[self.tableViewDataSource clearData];
[self.tableViewDataSource addGroupWithCompletionHandle:^(ZHTableViewGroup *group) {
    [group addCellWithCompletionHandle:^(ZHTableViewCell *cell) {
        cell.anyClass = [UITableViewCell class];
        cell.identifier = @"UITableViewCell";
        cell.cellNumber = _randoms.count;
        [cell setConfigCompletionHandle:^(UITableViewCell *cell, NSIndexPath *indexPath) {
            cell.textLabel.text = _randoms[indexPath.row];
        }];
    }];
}];
[self.tableViewDataSource reloadTableViewData];

identifier刷新个数

[self.tableViewDataSource reloadCellWithDataCount:_randoms.count identifier:@"UITableViewCell"]

Class刷新个数

[self.tableViewDataSource reloadCellWithDataCount:_randoms.count className:[UITableViewCell class]]

UITableViewCell刷新个数

[self.tableViewDataSource reloadCellWithDataCount:_randoms.count tableViewCell:self.tableViewDataSource.groups[0].cells[0]]

索引刷新个数

[self.tableViewDataSource reloadCellWithDataCount:_randoms.count groupIndex:0 cellIndex:0]

显示和隐藏

image-20200928190127141

[self.tableViewDataSource clearData];
[self.tableViewDataSource addGroupWithCompletionHandle:^(ZHTableViewGroup *group) {
    [group addCellWithCompletionHandle:^(ZHTableViewCell *cell) {
        cell.anyClass = [UITableViewCell class];
        cell.identifier = @"UITableViewCell";
        cell.cellNumber = 10;
        [cell setConfigCompletionHandle:^(UITableViewCell *cell, NSIndexPath *indexPath) {
            cell.textLabel.text = [@(indexPath.row + 1) stringValue];
        }];
        [cell setHiddenBlock:^BOOL(NSIndexPath *indexPath) {
            return _hidden && indexPath.row >= 5 && indexPath.row <= 8;
        }];
    }];
}];
[self.tableViewDataSource reloadTableViewData];

隐藏Cell

[self.tableViewDataSource reloadAllHiddenCell]

怎么安装

Cocoapods

pod 'ZHTableViewGroup'

Carthage

github "josercc/ZHTableViewGroup"

Swift Package Manager

.package(url: "https://github.com/josercc/ZHTableViewGroup.git", from: "3.0.0")

Github

link
Stars: 19

Dependencies

Used By

Total: 0

Releases

- 2020-02-29 11:48:48

- 2020-02-28 06:44:45

- 2020-02-28 03:37:49

- 2020-02-26 04:13:53

1 新增显示和隐藏功能 2 新增单独刷新高度 3 新增单独刷新一组Cell 4 新增数据数据加载刷新

only GB old Version - 2019-11-06 02:11:12

- 2019-08-20 04:04:53

修复 UICollectionView 托管类 - 2018-03-27 08:32:43

修改了点击获取 UITableViewCell 从可见的 CELLS 数组获取 - 2018-03-27 07:38:47

修改点击 CELL 获取 UITableViewCell 从当前可见的数组获取 - 2018-03-27 07:36:27

新增 UICollectionView 管理类 测试版本 - 2018-02-06 06:47:40

- 2018-01-26 08:51:25

- 2017-12-12 01:28:14

修复缺少 UIKit 库抱错 - 2017-12-12 01:10:40

2.6.0改动内容 - 2017-08-29 07:12:26

新增ZHTableViewCell ZHTableViewHeaderFooter泛型支持 新增ZHTableViewHeaderFooter可以配置试图

- 2017-07-25 02:14:11

Fix: 修复无法关闭自动代理 Add: 新增配置HeaderFooterView