类似qq分组
拖拽tableview controller控制器,设置为首页;新建控制累,首页和控制类关联(设置class属性)。
导入plist文件,转换为模型。
新建模型:friends和group
分组实现中,注意模型嵌套模型的转换
在控制器中实现数据源方法:
获取单元格为自定义的单元格:
单元格类中重写设置模型:
二,设置组
返回组名称,可重写以下方法:
这种返回的是字符串,如果返回的需要是view,就需要重新创建Headerview,并返回。改用以下方法:
初始化时,是自定义控件需要重写initWithReuseIdentifier方法:
新建按钮和label
在控制器中返回组View方法中,使创建的headerView,并返回:
设置数据group时,需要在heardview中写set方法:
设置每组的组高:
设置headerview显示控件内容:
需要headerView中重写方法:
三,设置分组的展开与合并
先在组中按钮添加点击事件:
展开原理:在数据源中的返回组元素方法中,返回0就是关闭,返回不是0就相当于展开。
需要headerView中方法控制主tableview controller中数据源方法,所以需要用代理:
headerView发布代理
主控制器遵守协议:
按钮的监听事件改写,调用代理方法:
相关文章: