博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改tableviewCell的选中颜色
阅读量:6239 次
发布时间:2019-06-22

本文共 1038 字,大约阅读时间需要 3 分钟。

##题记: 最近公司的项目开始改版了,也新来了一个项目经理,项目确实比以前好看多了,要求也更苛刻了,让我们修改tableviewCell点击后的背景颜色,试了好久终于找到了解决的方法,在这里和大家分享一下!

###初次尝试 首先肯定去头文件里看看有什么属性我们觉得像的,拿来试一试再说(不管是这个问题,以后碰到类似的问题都可以这样去试试,屡试不爽!),苹果只给我们一个设置cell的背景视图,没有给我们一个设置背景颜色的属性,我尝试的设置一个背景视图,并给这个背景视图设置颜色,代码如下: cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame]; cell.selectedBackgroundView.backgroundColor = [UIColor redColor]; 设置之后满怀期待的等待奇迹的发生,果然奇迹出现了,但是还是有问题,就是点击的时候确实变颜色了,push到下一个控制器之后,再回来发现选中的颜色还是存在的

###继续尝试 在cell的点击代理(didSelectRowAtIndexPath)中把cell的背景颜色在改回来,代码如下: UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; cell.backgroundColor = [UIColor whiteColor]; cell.selected = NO; 我发现这样就ok了这么简单,

###问题 有的时候还是会有问题,点击的时候颜色不对 - (nullable NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; cell.backgroundColor = [UIColor redColor]; return indexPath; } 为了解决这个问题,我在这个代理方法里改变cell的背景颜色,这个方法是在点击上cell的时候就开始调用,那个didSelected是手抬开的时候调用,这样这个问题就完美的解决了,哈哈~

转载地址:http://grzia.baihongyu.com/

你可能感兴趣的文章
X11转发图形界面的问题处理方式
查看>>
Django 过滤器
查看>>
linux 中建立HTTPS访问
查看>>
Environment variable ORACLE_UNQNAME not defined
查看>>
Exchange各版本号收集
查看>>
NAS与SAN存储
查看>>
【Case分享】Exchange 2013EMS命令无法加载
查看>>
nrm切换npm源利器
查看>>
[C编程在Linux上]用 printf做彩色日志记录
查看>>
O365结合ADFS限制用户登录地址 (二) - 安装AAD Connect
查看>>
Lync 2013 配合 Sonus SBC 1000/2000 配置呼叫转接和同时拨打
查看>>
工作流引擎Synchro Flow的流程度量
查看>>
asp.net 使用ffmpeg.exe获取视频信息并截图方法类
查看>>
Go36-31-sync.WaitGroup和sync.Once
查看>>
input设置为disabled提交后获取不到该值的解决方法
查看>>
我的友情链接
查看>>
利用wget 和队列 模拟网络爬虫 (不带判重程序)
查看>>
从零开始学习Gradle之三---多项目构建
查看>>
年轻人的自我自救:你有没有勇气输得起?
查看>>
cisco *** client 自动重拨
查看>>