目录
前言
暑假的3Gshare中使用了折叠cell,这篇博客来总结一下折叠cell的使用
原理
折叠cell的原理其实非常简单,就是动态地调整数据视图的高度,使数据视图可以展现的cell发生变化。并在点击选中某个单元格时,更改数据视图数据源,使得数据视图呈现出不同的单元格。
高度变化
下面给出代码来展示一下如何通过为按钮添加事件来控制数据视图高度的变化
objectivec
- (void)tapfoldButton:(UIButton*)button {
if (!button.tag) {
button.tag = 1;
self.tableView.frame = CGRectMake(250, 210, 110, 120);
} else {
button.tag = 0;
self.tableView.frame = CGRectMake(250, 210, 110, 30);
}
}
选中单元格
当选中某个单元格时,添加事件改变数据视图数据源,将数据源数组最后一个元素删除,再将选中元素添加到数据源数组首,这样就可以实现更改数据视图呈现的单元格。
objectivec
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSString* str = self.array[indexPath.row];
[self.array removeObjectAtIndex:indexPath.row];
[self.array insertObject:str atIndex:0];
[self.tableView reloadData];
}