美文网首页
iOS 折叠UITableview的简单实现

iOS 折叠UITableview的简单实现

作者: Ran_戈 | 来源:发表于2019-08-20 16:28 被阅读0次

                                                              先看下最终效果

    效果图

    实现思路:布局是这样的 --> 每个section上面添加headerView,每个section下有多个row。

    1. 首先HeaderView继承UIButton,自定义自己的HeaderView

    HeaderView.h

    set方法是设置表头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完成。

    注意:因为HeaderView是添加到UITableview的表头,所以必须设置UITableview的style 为Grouped,这样HeaderView才不会随着UITableview滚动,然而这样导致每个section后边会预留空白而不美观、通过设置FooterView  = [UIView new],并且设置FooterView的Height = 0,消除空白。 

    相关文章

      网友评论

          本文标题:iOS 折叠UITableview的简单实现

          本文链接:https://www.haomeiwen.com/subject/easpsctx.html