文档章节

deselectRowAtIndexPath的用处

今日竹石
 今日竹石
发布于 2014/01/23 16:16
字数 253
阅读 104
收藏 0

          有没有遇到过,导航+UITableView,在push,back回来之后,当前cell仍然是选中的状态。
当然,解决办法简单,添加一句[tableView deselectRowAtIndexPath:indexPath animated:YES]即可。
        令人纠结的时,在没加这句的时候,有的视图同样回来之后,选中状态消失,为什么会出现这种情况呢?
          原来是,如果UITableView是在UITableViewController中时,就会默然取消,而如果是在UIViewController时,需要添加这一句,不过有时即使前者也需要添加,那是因为在视图加载时有其它功能代码,具体情况各异。所以后者必须加,前者可能需要加。

         当然如果要求高的话,另外一种更加理想的办法是:
- (void) viewWillAppear: (BOOL)inAnimated {
NSIndexPath *selected = [self.table indexpathForSelectedRow];
if(selected) [self.table deselectRowAtIndexpath:selected animated:NO];
}

       这种方法是在放回的过程中逐渐取消选中状态的,可以提示刚才点进去的是哪一行,默认的也正是这种效果。

© 著作权归作者所有

今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
私信 提问
UITableView点击进入下一页 push页返回取消选中状态

一个UITableViewController,UITableViewCell点击后都会push另一个ViewController,每次点击Cell的时候,Cell都会被选中,当从push的ViewController返回的时候选中的Cell便会自动取消选中(有...

张志浩
2013/02/08
0
0
[iOS]tableView 一些技巧

//去掉多余的cell self.contactsTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; //tableView出现的时候,清除选中状态 如果是tableViewController self.clearsSe......

Daniel_s
2016/07/13
11
0
Swift开发教程--实现UITableView报错does not conform to prot

通过实践,要是把下面三个协议方法都实现了就不会报错了。另外还需要注意!的问题。 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ } func tableVie...

SoulJa
2015/12/17
16
0
uitableview loadmore点击加载更多的问题

我做了一个点击一行就加载更多,但是出现下面的错误。后来调试 到-(void) appendTableWith:(NSMutableArray *)data这个方法的时候才出错,问下这个代码段那里错了?我附上代码,在末尾就是出...

阿婆
2013/01/27
3.8K
2
记录一下iOS开发中琐碎的点点_4

UIViewController的两个属性和 他们分别是被present的控制器和正在presenting的控制器。比如说,控制器A和B, 那么A相对于B就是presentingViewController,B相对于A是presentedViewController...

hell03W
2016/07/04
17
0

没有更多内容

加载失败,请刷新页面

加载更多

vmstat命令详解

https://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html

流光韶逝
7分钟前
0
0
如何理解算法时间复杂度的表示

先从O(1) 来说,理论上哈希表就是O(1)。因为哈希表是通过哈希函数来映射的,所以拿到一个关键 字,用哈希函数转换一下,就可以直接从表中取出对应的值。和现存数据有多少毫无关系,故而每次执...

yky20190625
23分钟前
2
0
分布式架构 实现分布式锁的常见方式

一、我们为什么需要分布式锁? 在单机时代,虽然不需要分布式锁,但也面临过类似的问题,只不过在单机的情况下,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制...

太猪-YJ
57分钟前
5
0
GitLab Docker 安装记录

安装环境 环境Centos7.4 64 1.拉取镜像文件 docker pull gitlab/gitlab-ce:latest 2.docker 安装 git.zddts.com 为访问域名或换成可以访问的IP docker run -d --hostname git.***.com -p ......

侠者圣
今天
0
0
EfficientNet: 再论 CNN 的网络规模

由于这里公式无法正常显示,所有内容以图片内容上传,如有需要,可提供 pdf 版。

爱吃草莓的皮卡丘
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部