iOS开发中QQ好友列表下拉显示全部好友实现思路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/73312801

在QQ的好友页面有一个点击各个分类,然后展示分类中所有好友的效果,今天就说一说实现该效果的一个思路。

这个页面肯定是需要一个UITableView的,在tableview的代理方法中要实现分区的一个方法,即要返回tableview的分区数。返回的分区数就是好友的分类数。

tableview中各个分区的行数就是各个好友分类中的好友数。显示各个好友分类的视图是各个分区的一个头视图。头视图会有一个点击事件,用于好友分类的展开和收起。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

方法的实现很关键,1.要根据section的不同返回不同的行数。   2.要根据该行的点击状态显示行数(有显示所有的行数或者不显示行数两种状态)。代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

GroupModel *groupModel = _dataArray[section];

NSInteger count = groupModel.isOpened ? groupModel.groupFriends.count : 0;

return count;

}

tableview的数据源一般是一个数组,数组中会有模型,每一个分区对应一个模型,模式中除了有每个分区要显示的数据,我们还应为模型增加一个属性来存储各个分区的点击状态即各个好友分类是否展开。

每次点击各个分区的头视图的时候需要完成两件事:1.改变各个模型中的点击的状态属性  2.更新tableview的点击的分区。

代码:

- (void)clickAction:(UIButton *)btn{

GroupModel *groupModel = _dataArray[btn.tag];

// 改变是否显示详情的状态

    groupModel.isOpened = !groupModel.isOpened;

    [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:btn.tag] withRowAnimation:UITableViewRowAnimationAutomatic];

}

这里我在各个分区的头视图上添加了一个按钮。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏orientlu

python 数据图表呈现

平时压力测试,生成一些数据后分析,直接看 log 不是很直观,前段时间看到公司同事分享了一个绘制图表python 模块 : plotly, 觉得很实用,利用周...

22720
来自专栏GIS讲堂

js+css实现模态层效果

在做web前端的时候,有些时候会涉及到模态层,在此提供一种实现思路,希望对大家有用。先贴效果吧:

46240
来自专栏DeveWork

WordPress在RSS Feed 中输出自定义特色图像(缩略图)

估计不少网友是在了解到Google Reader 关闭的消息后才知道RSS这种东西的,本站DeveWork. com 曾经有过《WordPress在RSS Fe...

267100
来自专栏葡萄城控件技术团队

Spread for Windows Forms高级主题(1)---底层模型

底层模型概述 Spread控件提供了很多模型,这些模型提供了自定义控件的基础架构。同时,这些模型作为底层模板,派生出了更多通用的快捷对象。 在不使用Spread...

20460
来自专栏代码小睿

web桌面程序之图标拖动排序的分析

  在web桌面程序里,图标拖动并重新排序是个比较常见的功能。这个功能我之前反复修改了好几遍,现在终于整理出了比较理想的解决思路,决定拿出来分享下。   这一功...

19990
来自专栏我爱编程

Day21第三方模块Pillow&requests

Pillow PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。...

33350
来自专栏马洪彪

C#仪器数据文件解析-PDF文件

不少仪器工作站输出的数据报告文件为PDF格式,PDF格式用于排版打印,但不易于数据解析,因此解析PDF数据需要首先读取到PDF文件中的文本内容,然后根据内容规则...

40060
来自专栏听雨堂

Flash背景透明的代码

      我觉得这个应该不是太难,结果DW中死活设置不成功,网上搜索到的都是一些互相抄了抄去的不知所云的东西,懒得去学习研究,还不如在自己原来做过的网站中找代...

20960
来自专栏云霄雨霁

计算题总结

37300
来自专栏前端菜鸟变老鸟

使用js对在网页中打开Excel表格,并进行自动求和操作。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caomage/article/detai...

28930

扫码关注云+社区

领取腾讯云代金券