157 字
1 分钟
【iOS】折叠cell

先给出实现效果:#

图片

折叠cell的实现#

折叠cell的关键是通过按钮控制tableView的高度:

- (void)press:(UIButton *)btn {
[self.foldTableView mas_updateConstraints:^(MASConstraintMaker *make) {
if (btn.selected) {
make.height.mas_equalTo(30);
} else {
make.height.mas_equalTo(150);
}
}];
btn.selected = !btn.selected;
}

如此以来,点击按钮可以实现tableView高度的变化。

实现选中的单元格移到最前:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *str = self.array[indexPath.section];
[self.array removeObjectAtIndex:indexPath.section];
[self.array insertObject:str atIndex:0];
[self.foldTableView reloadData];
[self press:self.btn];
}

我们先获取Array中被选中的项目

然后在数株中移除,并插到头部,然后重新刷新tableView。这样就可以实现效果如下:

图片


原文发布于 CSDN:【iOS】折叠cell

【iOS】折叠cell
https://www.tommywutong.cn/posts/csdn-import/csdn-151195540-ios-cell/
作者
TommyWu
发布于
2025-09-04
许可协议
CC BY-NC-SA 4.0