iOS-TableView中cell的显示与隐藏

2017-04-19  本文已影响0人  宇玄丶

项目中,总会遇到各种鬼需求,比如cell的显示隐藏就算吧,好好的数据直接展示就得了呗,非得隐藏起来,我就纳闷了,隐藏了,还显示嘎哈啊?毕竟就是个撸代码的,咋也得搞出来。

效果图就是这样:

黑色的为每组头视图,点击展开隐藏的cell,再点击收缩隐藏。黑色的为每组头视图,点击展开隐藏的cell,再点击收缩隐藏。

黑色的为每组头视图,点击展开隐藏的cell,再点击收缩隐藏。
各种设置,已经封装起来了,使用的时候,直接遵守各个协议就可以了。


#pragma mark - YUFoldingTableViewDelegate / required
- (PackUpTableViewSectionHeaderArrowPosition)perferedArrowPositionForYUFoldingTableView:(PackUpTableView *)yuTableView {
    return self.arrowPosition ? :PackUpTableViewSectionHeaderArrowPositionRight;
}

- (NSInteger )numberOfSectionForPackUpTableView:(PackUpTableView *)tableView{
    return 4;
}

- (NSInteger )packUpTableView:(PackUpTableView *)tableView numberOfRowsInSection:(NSInteger )section {
    return 3;
}

- (CGFloat )packUpTableView:(PackUpTableView *)tableView heightForHeaderInSection:(NSInteger )section {
    return 50;
}

- (CGFloat )packUpTableView:(PackUpTableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 50;
}

- (NSString *)packUpTableView:(PackUpTableView *)tableView titleForHeaderInSection:(NSInteger)section {
    return self.titleArray[section];
}

- (UITableViewCell *)packUpTableView:(PackUpTableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellID = @"cellID";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellID];
    }
        cell.textLabel.text = self.valueArray[indexPath.row];
        cell.textLabel.textColor = [UIColor redColor];
        cell.detailTextLabel.text = self.valueDetailArray[indexPath.row];
        cell.detailTextLabel.textColor = [UIColor redColor];
        return cell;
}

- (void )packUpTableView:(PackUpTableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

#pragma mark - YUFoldingTableViewDelegate / optional
- (NSString *)packUpTableView:(PackUpTableView *)tableView descriptionForHeaderInSection:(NSInteger )section {
    return self.titleDetailArray[section];
}

以上就是主要的几个协议方式,基本也就这些,写上了,请求数据,再一赋值就OK了。

链接:https://github.com/Baiyongyu/PackUpTableView.git

上一篇下一篇

猜你喜欢

热点阅读