美文网首页iOS 开发
iOS UITableView单行选中和多行选中

iOS UITableView单行选中和多行选中

作者: 小時間光 | 来源:发表于2016-05-04 16:29 被阅读1182次

1、单行选中

近期所做的项目其中一个界面效果图如下所示:

效果图

设计给出的需求文档上的说明是,点击列表中任意一行,其他行都收回,如果再点击一次该行,则所有行收回。好了需求明确,当然这个界面首选用UITableView来实现,整个效果就是用UITableView的单行选中来实现的,当选中该行时,该行的高度改变。

实现单行选中的思路是:

(1)、定义一个整数CellRow来记录上一次点击的行数,并在viewDidLoad方法中将值设为-1;

代码

(2)、在UITableView的didSelectRowAtIndexPath回调方法中赋值,完成后刷新UITableVIew;

代码

(3)、考虑到再点击一次需要收回,所有应该做出判断,当前点击行数和上一次点击行数相等时,把CellRow的值设为默认值,所以最终UItableView的didSelectRowAtIndexPath回调方法中的代码为:

代码

(4)、在UITableView的heightForRowAtIndexPath回调方法中判断,UITableView点击的行数的高度刷新其他的行数不改变。

代码

OK,整体的思路就是如此,最终我做出来的效果入下图所示:

2、多行选中

(1)、在获取到数据后,对数据源数组进行一次遍历,在数据源数组的每个元素都增加一个属性isShow用来记录UITableView对应的行是否选中,该属性默认值为0表示对应的行数没有选中,如果等于1则对应的行数表示选中,此处我使用了MJExtension框架将获取到的数据转换为Model;

Model

(2)、当点击时可以获取到点击的行数,对数据源数组中对应行数的isShow属性值做修改,同时刷新UITableView 所点击的行数;

(3)、在UITableView的返回高度heightForRowAtIndexPath回调方法中做出判断;

以上是UITableView多行选中的思路,由于这是公司的项目不能提供代码了,我写了个Demo供参考,请戳这里

相关文章

  • iOS UITableView单行选中和多行选中

    1、单行选中 近期所做的项目其中一个界面效果图如下所示: 设计给出的需求文档上的说明是,点击列表中任意一行,其他行...

  • 注释

    1.单行注释 (快捷键 ctrl + /) 2.多行注释①(选中多行 ctrl + /) ②输入/**即可 3.不...

  • UITabelview-编辑模式

    研究一下tableivew的编辑模式上代码了 创建uitableview 开启编辑模式 点击选中和取消选中 全选代...

  • 三种java注释

    一、单行 // 代码 // 二、多行 //代码 选中后,ctrl+/ 添加,再次ctrl+/ 取消 三、多...

  • 2018-01-08

    iOS开发规范新增部分: 注释相关: 1,属性(property),使用单行注释或多行注释,单行注释格式 ///…...

  • UITableView

    UITableView的样式 UITableView是iOS开发中非常重要的控件之一,它能够展示多行数据,支持滚动...

  • 【Eclipse】注释

    一、注释 1. 单行注释 鼠标点击/选中这个一行Ctrl + / 2. 多行注释 选中要注释的部分Ctrl+Shi...

  • python笔记 基本数据类型一

    基本操作 字符编码设置:# -*- coding:utf-8 -*- 单行注释:# 多行注释:‘’‘ ’‘’ 选...

  • VS Code常用快捷键

    选中单词:Ctrl + D 注释:单行注释:Ctrl+/;多行注释:Alt+Shift+A 快速回到顶部 : Ct...

  • CSS文本样式

      单行文本溢出显示省略号 多行文本溢出 文字选中滑动背景色 禁止文本缩放 禁止文本选中   css实现不换行、自...

网友评论

    本文标题:iOS UITableView单行选中和多行选中

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