IOS的sdk中,对UITableViewCell的高亮背景色只支持两种颜色,分别为UITableViewCellSelectionStyleBlueUITableViewCellSelectionStyleGray

那么如何自定义这个颜色呢。一个思路是当用户点下cell时设置你想要的cell的背景色,当释放点击时给cell重新设回原来的背景色,这样就能达到预想的效果了。

下面是具体实现的代码:

- (void)drawRect:(CGRect)rect
{
if (self.highlighted) {
self.backgroundColor = [UIColor colorWithHexString:@"0x383838"];
}else{
self.backgroundColor = [UIColor clearColor];
}
} - (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
[super setHighlighted:highlighted animated:animated];
[self setNeedsDisplay];
}

1. 继承UITableViewCell

2. 重写以上两个方法。

当每次用户点击或者释放的时候,系统都会来调用下面这个方法,从而来改变cell的高亮背景色。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated

[IOS 开发] 自定义(重写) UITableViewCell的高亮背景色的更多相关文章

  1. IOS开发中重写init方法使用需谨慎

    IOS开发中重写init方法使用需谨慎 今天在写一个小软件的时候出现一点问题,这个软件的功能是搜索全国学校,首页就是搜索输入框,在框中输入完要查询的学校所在省份,点击buttom后就会跳转到对应的视图 ...

  2. iOS开发UI篇—UITableviewcell的性能优化和缓存机制

    iOS开发UI篇—UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource ...

  3. iOS开发UI篇—UITableviewcell的性能问题

    iOS开发UI篇—UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource ...

  4. iOS开发自定义字体之静态字体

    最后更新 2017-04-25 在iOS开发中经常会用到字体, 一般字体文件比较小的,单一的,几十k, 可以通过内置进去;如果字体文件比较多或者字体文件比较大,通常通过动态加载方式. 静态加载方式 将 ...

  5. iOS开发-重写description方法,自定义控制台(log)信息

    description是所有类都有的一个方法. 我们重写这个方法,可以自定义实例输出的信息. 比如我们创建一个Person类: 在.h文件中添加两个属性: #import <Foundation ...

  6. iOS 开发自定义一个提示框

    在开发的时候,会碰到很多需要提示的地方,提示的方法也有很多种,ios 8 以前的版本有alertview还是以后用的alertController,都是这种作用, 但是不够灵活,而且用的多了,用户体验 ...

  7. iOS开发自定义流水布局

    //集成UICollectionViewFlowLayout 自己写的布局 //  SJBFlowLayout.m //  自定义流水布局 // //  Created by zyyt on 16/7 ...

  8. iOS开发——自定义转场动画

    首先是UIPresentationController,这个控制器给modal新的viewController提供了下一步的view和转场的管理,从一个viewController被modal出来到被 ...

  9. iOS开发-自定义UIAlterView(iOS 7)

    App中不可能少了弹框,弹框是交互的必要形式,使用起来也非常简单,不过最近需要自定义一个弹框,虽然iOS本身的弹框已经能满足大部分的需求,但是不可避免还是需要做一些自定义的工作.iOS7之前是可以自定 ...

随机推荐

  1. python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...

  2. ubuntu下安装JDK并搭建activeMQ

    1.安装JDK,网上有人说activeMQ支持持JDK1.7及以上版本,未实际测试,保险起见我这里直接安装JDK1.7. #apt-get install openjdk--jdk 2.设置环境变量 ...

  3. Java 基础接口练习题

    编写2个接口:InterfaceA和InterfaceB:在接口InterfaceA中有个方法void printCapitalLetter():在接口InterfaceB中有个方法void prin ...

  4. Cenots7编译Opencv3.1错误:下载ippicv,解决方案

    在centos7上安装Opencv的时候,停在了下载ippicv的地方,一直都下载不下来. ippicv是一个并行计算库,其实可以不用的. 如果不想用这个并行计算库,在做Cmake的时候用参数关闭即可 ...

  5. Android first---SQLite

    SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper 必须定义一个构造方法: public MyOpenHelper(Context context, ...

  6. centos 6.6中的yum源更换成国内的阿里云yum源

    阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/ 第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base. ...

  7. memcached安装

    memcached安装 一.安装gcc # yum -y install gcc 二.安装libevent # wget http://www.monkey.org/~provos/libevent- ...

  8. 安装升级npm依赖

    npm-check 能够自动检索npm包版本,并且提供交互操作界面: 有以下功能: 1.告诉你那些依赖已经过时: 2.在你决定升级时,给你提供依赖包的文档: 3.提示某个依赖没有被你使用: 4.支持全 ...

  9. VB.net中Ajaxpro的使用

    1:从网上下载:AjaxPro.2.DLL文件,下载地址: http://files.cnblogs.com/wequst/AjaxPro.2.zip 2:解压之后把DLL放到程序bin目录下进行参照 ...

  10. 75篇关于Tomcat源码和机制的文章

    75篇关于Tomcat源码和机制的文章 标签: tomcat源码机制 2016-12-30 16:00 10083人阅读 评论(1) 收藏 举报  分类: tomcat内核(82)  版权声明:本文为 ...