UITableViewCell它有两个属性highLighted、selected。很明显一个是高亮状态, 一个是选中状态。
UITableViewCell, 对应的2个方法
// 高亮状态调用的方法
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated;// 选中状态调用的方法
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;

// 这个方法让tableView 默认选择第一个[self selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

当我们点击cell的时候,其实是先设置cell的高亮状态为YES, 因为cell首先是出于高亮状态, 然后松手的时候再将cell的高亮状态设置为NO, 接着才是设置cell的选中状态为YES, 最后才会去调用delegate中的tableview:didSelectRowAtIndexPath:方法。
但是在开发中你会遇到点击cell, 如果cell的某行不需要被选中你要手动去设置取消点击cell选中状态, 那么就不能去调用 setSelected, 如果你调用setSelected取消cell选中, 你再滑动回当前行你会发现他还是被选中状态, 个人感觉是因为tableview 有个记录器, 记录当前你选中的是那些cell, 
真正调用的是tableview的方法
// 取消选中某行
- (void)deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated;

调用它之后, 系统会调用setSelected, 并且传进去的参数是NO, 这样就会取消选中

- (void)setSelected:(BOOL)selected animated:(BOOL)animated;

转载于:https://www.cnblogs.com/MrTao/p/5145590.html

tableView选中行的调用顺序/ 取消选中Cell相关推荐

  1. UITableView取消选中颜色、常用操作

    UITableView取消选中颜色.常用操作 使用空白view取代cell - (UITableViewCell *)tableView:(UITableView *)tableView cellFo ...

  2. listview改变选中行字体颜色

    [android]listview改变选中行字体颜色 目标:选中item,其字体设置为#3197FF,未选中的,其字体为#FFFFFF 与listvew设置选中行item背景图片一样,使用select ...

  3. datagridview取消默认选中_DataGridView取消默认选中行

    最近用Winform的DataGridView遇到不少问题,昨晚就碰到个默认选中行的问题.DataGridView在添加数据后会默认选中第 一个单元格或者第一行,我就想取消它的默认选中行.于是就在绑定 ...

  4. html选中列表整列变色,excel选中行变色完整代码和动画效果

    内容提要:文章介绍excel选中行变色的效果以及实现选中行变色的VBA代码. 在excel中如果行数过多,经常核对数据的准确性,容易错行跳行,所以才有本文的小技巧:excel选中行变色. 当我们在ex ...

  5. 实现点击选择按钮时候选中对应选中的行,当点击某一行单元格时候就清除其他选中行然后选中对应点击的那一行

    实现点击选择按钮时候选中多行,当点击某一行单元格时候就清除其他选中行 <el-table :data="data" showOverflowTooltip ref=" ...

  6. datagridview 获取选中行号 数据,判断是不是选中了一行

    datagridview 获取选中行号 数据,判断是不是选中了一行 if (cc.dataGridView1.SelectedRows.Count > 0)//小于等于0 为没有选中任何行    ...

  7. jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等

    jQuery操作复选框checkbox技巧总结 --- 设置选中.取消选中.获取被选中的值.判断是否选中等 一.checked属性定义 先了解下input标签的checked属性: 1.HTML &l ...

  8. 通过js控制layui选择框checkbox的选中、取消选中,以及使用layui实现全选、取消全选的一种方式

    js控制选中.取消选中 ,layui实现全选.取消全选 layui版本2.5.x html部分: <form class="layui-form" id="form ...

  9. 解决 layui — table 单击行选中radio 与 点击 radio 选中行

    最近做项目用到了layui 里面的 table ,点击某一行选中当前行的radio,解决办法如下: layui.use('table', function(){var table = layui.ta ...

最新文章

  1. MySQL的MyISAM和InnoDB存储引擎表结构
  2. Flutter:尝试撸一个具有惯性跟阻力的旋转控件或用传感器控制其旋转
  3. 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公
  4. 通过使用CSS字体阴影效果解决hover图片时显示文字看不清的问题
  5. 盖茨基金会重发明厕所进展
  6. tensorflow精进之路(二十一)——使用slim模型对图像识别与检测(上)(Inception_ResNet_v2模型)
  7. 原生js--类、原型、构造函数
  8. 爬虫之Requests库入门
  9. 十折交叉验证python_Python实现K折交叉验证法的方法步骤
  10. 机器学习、深度学习笔试题面试题整理
  11. Windows环境下ODAC安装
  12. 航飞原始影像外方位元素_武汉大学生历年摄影测量试题及答案
  13. One Last Kiss风格封面生成器;程序内存分析工具;Python入门课程资料;神经文本语音合成教程;前沿论文 | ShowMeAI资讯日报
  14. 简谈即时聊天系统设计
  15. SAP导入或更新某网证证书
  16. 华芯微特SWM220R8T7-LQ64-22100最小系统板测试版开发板面包板
  17. 【论文】b站 - 读论文的麦小哲 学习笔记
  18. Python多态与鸭子类型
  19. JPA+H2内嵌数据库
  20. Flowerpot(单调队列)

热门文章

  1. python 无法初始化设备prn_彻底搞懂Python一切皆对象,面试必过
  2. Kano模型在用户调研中的应用——CRM工具调研实例
  3. 域控服务器降级失败,降级域控制器时出错 - Windows Server | Microsoft Docs
  4. 火狐翻译插件_阅读外文必备,浏览器实用的翻译插件推荐
  5. ios textview间距_iOS开发之UITextView,设置textView的行间距及placeholder
  6. linux通过xrander添加分辨率,使用X11,XDamage,XRender和其他技巧保留屏幕内容的QPixmap副本...
  7. Windows10下鼠标跳屏问题——Microsoft Serial Ballpoint
  8. java web初始化实例_Struts2中实现web应用的初始化实例详解
  9. python控制浏览器模拟鼠标点击网页标题_如何使用python来模拟鼠标点击(将经过实例自动化模拟在360浏览器中自动搜索python)...
  10. php redis ip查找,PHP实现redis限制单ip、单用户的访问次数功能示例