文档章节

修改点击cell时显示的颜色

Align
 Align
发布于 2016/01/06 11:41
字数 491
阅读 101
收藏 0

 首先清楚一点, 当我们点击cell的时候, 会默认是蓝色的效果

@property(nonatomic,getter=isSelected) BOOL         selected;   // 是否被选中

如果是YES, 选中cell的时候, cell会变成蓝色, 让用户知道被选中了

如果是NO, 点击cell手指不离开, cell还是会显示蓝色, 当手指离开后, 蓝色消失

有时候cell只是起到展示信息的作用,并没有跳转页面之类的, 显然如果将selected=NO还是有些不满意, 因为cell在点击的时候还是会有变化, 如何设置一下, 让用户点击cell一点反应都没有呢

@property(nonatomicUITableViewCellSelectionStyle  selectionStyle;           // default is UITableViewCellSelectionStyleBlue.

 

看到这里, 我们笑了, 原来点击的那个蓝色效果就是这里出来的, 看看还有些其他可以选择的

    UITableViewCellSelectionStyleNone,

    UITableViewCellSelectionStyleBlue,  //default 

    UITableViewCellSelectionStyleGray

显然UITableViewCellSelectionStyleNone这个属性就是我们想要的了

 

这个属性提供了2种颜色, 默认的蓝色和灰色, 但这远远不够, 所以我们需要自定义选中cell时的颜色

@property(nonatomic,retainUIView   *selectedBackgroundView;

看看这个属性, 就知道是什么了

cell.contentView.backgroundColor = [UIColor clearColor];

UIView *aView = [[UIView allocinitWithFrame:cell.contentView.frame];

aView.backgroundColor = [UIColor redColor];

self.selectedBackgroundView = aView;   设置选中后cell的背景颜色

[aView release];<p>

 

这里举例这是单纯的设置颜色,  其实可以有很多花样

selectedBackgroundView是View类型, 我们可以用UIImageView也行, 在嵌套图片, 效果可以做的更好

 

同理如何来设置cell的背景颜色呢(跟点击cell没有关系)

需要说明一点的是:

如果tableView是plain类型, 那么cell的背景颜色就是tableView的背景颜色, 就算设置了cell.backgroundColor貌似也没用

如果tableView是group类型, cell的背景颜色跟tableView的背景无关, 需要单独在设置cell.backgroundColor

@property(nonatomic,retainUIView                *backgroundView;

看这个属性就知道了, 至于如何设置跟上面相同


© 著作权归作者所有

Align
粉丝 11
博文 65
码字总数 71695
作品 0
昌平
高级程序员
私信 提问
循环滚动的UITableView

在iOS开发中,UITableView是使用很频繁的控件之一,之前在某个app中的一个电台选择播放功能中,通过循环滚动UITableViewCell以及设置Cell显示的不同大小等方式来实现该功能,原图如图1所示:...

小时候De_我
2016/12/10
0
0
使用Runtime解决 cell 点击时子视图改变背景颜色的问题

前言 iOS 开发中,UITableView 随处可见,而在点击 UITableView 的 cell 的时候,如果他的子视图设置了透明颜色以外的颜色,子视图的背景颜色会进行相关的改变,效果如下图。 这种情况是不是...

秦无炎
2016/11/21
69
0
iOS-常用的自定义控件

前言 项目中比较可能会用到的自定义控件,也会去参考别人的第三方,解读他们解决问题的思路并加上自己的逻辑,记录下来方便以后阅读; (一)图文验证码; demo展示的是简单的图文验证(没有...

麦兜卖鱼丸
2016/10/18
33
0
UILabel字符大小适应&NSDate转NSString&Cell抬手取消高亮

1.xib上UILabel和代码UILabel字号自动调小 1>通常自定义cell上的UILabel的Label字号固定好之后,如果设定行数(lines)较少,当字符过多时候,label最后面会出现"...",有时为了显示完整会增加行数...

炽梨
2016/07/29
7
0
如何 iPad 编程中使用自定义 TableViewCell

UITableViewCell类能够显示出各种各样的风格,但有时候我们需要适应不同的显示模式下的显示。今天的文章中,我们将使用table view去显示一系列自定义的cell。 启动Xcode,选择"Create a new...

曾沙
2012/11/26
534
0

没有更多内容

加载失败,请刷新页面

加载更多

lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
3
0
通过四道常问面试题,带你了解什么是数据库分库分表

编者语:为了避免被误解为:「手里有把锤子,看什么都是钉子!」,说明一下不是什么业务都适合分布式数据库,更不是用了分布式数据库性能就一定能得到扩展。 其次:本文为纯干货,建议先转发...

老道士
今天
6
0
springmvc 整体流程

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR......

architect刘源源
今天
3
0
磁盘管理

先来看两个查看的命令 查看磁盘使用情况df 用法:df, df -h, df -m, df -k 查看目录或文件大小 用法:du -sh, du -sm, du -s(默认以k为单位) 新加一块盘如何操作 步骤:分区(可选)--> 格...

wzb88
今天
3
0
在 Linux 下确认 NTP 是否同步的方法

NTP 意即网络时间协议Network Time Protocol,它通过网络同步计算机系统之间的时钟。NTP 服务器可以使组织中的所有服务器保持同步,以准确时间执行基于时间的作业。NTP 客户端会将其时钟与 ...

Linux就该这么学
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部