html单元格选中状态,UITableViewCell 设置单元格选中后只显示一个打勾的状态
今天做个表格,突然发现在选中某行时打勾,再次选中其它行时,上次选中的行的勾还在,不能自动消失。
于是试了以下3种方法:
1、//
第一种方法:在选中时先遍历整个可见单元格,设置所有行的默认样式,再设置选中的这行样式,此方法不能取消单元格的选中
-
(void)tableView:(UITableView
*)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray *array =
[tableView visibleCells];
for (UITableViewCell *cell in array) {
[cell
setAccessoryType:UITableViewCellAccessoryNone];
cell.textLabel.textColor=[UIColor blackColor];
}
UITableViewCell *cell=[self.tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.textColor=[UIColor blueColor];
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
}
此时只设定了在可见范围内选择的是一行,还得设置滚动后的选中状态,
-(void)tableView:(UITableView*)tableView
willDisplayCell:(UITableViewCell*)cell
forRowAtIndexPath:(NSIndexPath*)indexPath
{
NSIndexPath *index=[tableView indexPathForSelectedRow];
if (index.row==indexPath.row&&
index!=nil)
{
cell.backgroundColor=[UIColor colorWithRed:232.0/255.0 green:232.0/255.0blue:232.0/255.0 alpha:1.0];
cell.textLabel.textColor=[UIColor colorWithRed:0.0 green:206.0/255.0blue:192.0/255.0 alpha:1.0];
}
else
{
cell.backgroundColor=[UIColor clearColor];
cell.textLabel.textColor=[UIColor blackColor];
}
}
单元格是否相同需要用到比较方法
NSIndexPath
*index=[tableView
indexPathForSelectedRow];
NSComparisonResult result=[indexPath
compare:index];
2、//第二种方法:先定位到最后一行,若选中最后一行直接退出,否则用递归改变上次选中的状态,重新设置本次选中的状态。
- (UITableViewCell *)tableView:(UITableView
*)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
current=indexPath.row;
}
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row==current){
return;
}
UITableViewCell*newCell =
[tableView cellForRowAtIndexPath:indexPath];
if(newCell.accessoryType==UITableViewCellAccessoryNone)
{
newCell.accessoryType=UITableViewCellAccessoryCheckmark;
newCell.textLabel.textColor=[UIColor blueColor];
}
NSIndexPath*oldIndexPath
=[NSIndexPath indexPathForRow:current
inSection:0];
UITableViewCell*oldCell =
[tableView cellForRowAtIndexPath:oldIndexPath];
if(oldCell.accessoryType==UITableViewCellAccessoryCheckmark)
{
oldCell.accessoryType=UITableViewCellAccessoryNone;
oldCell.textLabel.textColor=[UIColor blackColor];
}
current=indexPath.row;
}
3.//方法三:设置一个全局变量,选中的时候传值,然后通过重新加载数据,使得在选中这行打勾,其他行无样式,此方法加载的时候第一行默认打勾了
-
(void)tableView:(UITableView*)tableView
didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
current=indexPath.row;
[self.tableView reloadData];
}
- (UITableViewCellAccessoryType)tableView:(UITableView*)tableView
accessoryTypeForRowWithIndexPath:(NSIndexPath*)indexPath
{
if(current==indexPath.row&¤t!=nil)
{
return
UITableViewCellAccessoryCheckmark;
}
else
{
return
UITableViewCellAccessoryNone;
}
}
或者直接在
-(UITableViewCell *)tableView:(UITableView
*)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath里面设置
单元格的默认高度为44
NSLog(@"%@",NSStringFromCGRect(cell.frame));
设置选中时的背景颜色可以用selectedbackgroundview设置
html单元格选中状态,UITableViewCell 设置单元格选中后只显示一个打勾的状态相关推荐
- Datagridview 去掉单元格焦点虚框 和设置单元格不能被选中
去掉单元格焦点虚框和设置单元格不能被选中 private void kDGV_ghd_RowPrePaint(object sender, DataGridViewRowPrePaintEventAr ...
- 设置单元格填充方式_单元格的选择及设置单元格格式
数据输入完毕,接下来可以设置字体.对齐方式.添加边框和底纹等方式设置单元格格式,从而美化工作表.要对单元格进行设置,首先要选中单元格. 选择单元格 选择单元格是指在工作表中确定活动单元格以便在单元格中 ...
- C#:GridControl之 bandedGridView中的单元格自动换行、动态设置单元格行高
C#:GridControl之 bandedGridView中的单元格自动换行.动态设置单元格行高 1.自动换行 //自动换行//RepositoryItemMemoEdit:一个编辑器,允许显示和编 ...
- win7笔记本外接显示器html,window7笔记本外接显示器只显示一个屏幕怎么设置
许多用户都会偏向于入手win7笔记本电脑,这样电脑携带起来也是非常方便,不过由于屏幕较小的缘故,有用户就会选择外接一台显示器,不过在给win7笔记本外接显示器之后就需要对于其进行设置只显示一个屏幕,接 ...
- 计算机设置了桌面显示为什么没有反应,电脑开机后只显示桌面背景,图标没有,鼠标也没有反应,怎么办?...
电脑开机后只显示桌面背景,图标没有,鼠标也没有反应,怎么办?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 电脑开机后只 ...
- php利用表格敬将所选择的数据显示出来,单元格下拉筛选设置/Excel对筛选后的单元格进行下拉填充...
EXCEL里怎样让一个单元格能有下拉菜单? 要设置下拉菜单的单元格(或格区)----数据---有效---"允许"中选择"序"---"来源"中 ...
- pdfpcell 怎么设置单元格大小_word怎么设置单元格大小
word中的单元格是可以改变的,以适应不同的数据长度.但是新手不会,怎么办?有简单易懂的方法吗?下面让学习啦小编为你带来excel设置单元格大小的方法吧,希望看完本教程的朋友都能学会并运用起来. wo ...
- java读取合并单元格_Java POI常用方法,读取单元格的值,设置单元格格式,合并单元格,获取已合并的单元格,导出至本地等...
一.设置单元格格式. 设置单元格边框.单元格背景颜色.单元格对齐方式.单元格字体,设置自动换行. /** Description: 设置单元格格式. * @author : ys. * @date : ...
- html如何改变单元格底色,html如何设置单元格颜色
在html中,可以使用bgcolor属性设置单元格颜色,只需要在指定td标签中添加"bgcolor="颜色值""样式即可.bgcolor属性规定文档的背景颜色, ...
- 在Excel里面,单元格里输入公式后只显示公式本身,不显示结果,怎么办
这种情况是对Excel进行了设置,设置的就是在单元格中只显示公式,不显示结果,解决的办法有两个: 1 用快捷键CTR+~ 2 点击"公式"选项卡,然后反选里面的"显示公式 ...
最新文章
- java之final
- struts2控制标签(一)选择标签,iterator标签,append标签
- 直播 | 清华大学关健:利用自监督学习的开放端故事生成评价方法
- 基础正则表达式介绍与练习
- 如何成为一个技术“牛人”
- c语言int超出范围溢出处理_整数溢出是怎么回事?Python和Numpy的整数为何不一样?...
- SQL Server datetime数据类型设计与优化误区
- 软件持续集成(CI)、持续交付(CD)和持续部署(CD)
- java基础语法day03
- spring mvc 学习 转载
- J-link J-flash 工程配置及下载
- 螺杆式、离心式、活塞式冷水机组及品牌
- 希捷2t服务器硬盘是什么盘,希捷酷鱼2T 3.5寸硬盘晒单以及小白安装应该避免的坑...
- 数理统计复习笔记七——列联表的独立性检验
- h5做app和原生app有什么区别?
- pyqt5 失焦 监听无操作 定时器
- 提高数据分析思维能力的三大方法
- 华为电脑Linux进pe,华为 matebook X Pro怎样用PE重装系统win10
- libusb ubuntu
- 坚鹏:苏州银行《银行数字化运营之行动篇》课程培训圆满结束
热门文章
- 数据库已关闭。请指定主机身份证明以访问数据库重新启动和诊断工具
- UIActivityIndicatorView活动指示器(菊花)
- 3ds max 2012 VRay 2.0-3ds max 从入门到精通-元旦场景材质设置
- 【OpenCV学习笔记】【函数学习】十七(imread()函数)
- 【第三方软件】利用WIN8系统自带的绘图软件获取图像信息(位置和颜色信息)
- 魔方机器人之上位机编程-------- 最无厘头错误(空格)
- 从零基础入门Tensorflow2.0 ----六、30 kaggle 10 monkeys 基础模型搭建与训练
- [vs2015 + AE]建立窗体应用程序的简单实验
- 向量间的距离和范数到线性空间、赋范空间、內积空间
- android 权限管理详解,EasyPermissions源码浅析