先看下最终效果
效果图实现思路:布局是这样的 --> 每个section上面添加headerView,每个section下有多个row。
1. 首先HeaderView继承UIButton,自定义自己的HeaderView
HeaderView.hset方法是设置表头title和箭头状态。(创建、布局代码就不贴了)
HeaderView.m自定义HeaderView就结束了。
2. 然后在controller里面调用HeaderView。
图1看图1,这里有三个数组,一个是section数据组,用来显示HeaderView数据;一个是row数据组,用来显示section下的row;另外一个是state数据组,用来记录当前用户点击HeaderView的状态是折叠还是展示。
图2看图2,row的显示取决于当前HeaderView是折叠还是展示,如果当前state = FoldingSectionStateFold (折叠),row = 0;如果state = FoldingSectionStateShow(展示),row = rowDataArray.count。
图3图3是设置自定义的HeaderView,当点击HeaderView时候改变当前section状态。由此折叠UITableview完成。
网友评论