文档章节

UITableViewCell选中背景色覆盖分割线及自定义选中背景色的问题

巡天壮我心
 巡天壮我心
发布于 2014/04/24 18:21
字数 378
阅读 487
收藏 0
最近项目中用到UITableView中cell之间要用自定义的虚线分割,然后选中cell出现淡黄色效果。按照逻辑出现自定义效果可以自己创建一个继承UITableViewCell的类,里面加上:UIView *lineView = [[UIView alloc] init];
        lineView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"CR_meetingroomlist_Line"]];
        lineView.frame = CGRectMake(17, self.frame.size.height - 1,402,1);
        [self addSubview:lineView];
然后在用到cell的这个方法里- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath加上    cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame];
    cell.selectedBackgroundView.backgroundColor = [UIColor colorWithRed:250.0f/255.0f green:250.0f/255.0f blue:198.0f/255.0f alpha:1];就可以点击cell出现淡黄色效果。此时的问题出现了,其实cell.selectedBackgroundView的大小你是无法去修改的,意思是即使你修改了它还是cell的大小。所以当你选中cell时,背景色老是把你的虚线给覆盖住。如果你设置点击后就消失的话,就仿佛那条分割线在跳动的感觉,让人很不舒服。之前一直以为是cell.selectedBackgroundView不对,就一直试图修改它的大小,后来发现这是个错误。我们正确的做法很简单:meetingRoomTBView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"CR_meetingroomlist_Line"]];在UITableView上下功夫,而不是在UITableViewCell做改变。这样的话就不会出现背景色覆盖分割线的问题了。


© 著作权归作者所有

共有 人打赏支持
巡天壮我心
粉丝 1
博文 5
码字总数 1657
作品 0
海淀
高级程序员
UITableViewCell 自定义选中颜色

1、系统内置颜色 //无色cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色cell.selectionStyle = UITable......

常思过
2013/08/12
0
0
UITableViewCell的选中时的颜色设置

1.系统默认的颜色设置 //无色cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色cell.selectionStyle = U......

张志浩
2012/08/08
0
1
iOS设置UITableViewCell的背景色透明和设置选中背景颜色的方法

1.设置UITableViewCell的背景色透明: 设置UIColor为clearColor: cell.backgroundColor=[UIColor clearColor]; 或者,设置颜色透明度为0: cell.backgroundColor = [UIColor colorWithWhite......

SupermanGC
2015/08/11
0
1
UITableView 基本使用方法总结

首先,Controller需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource 2.然后 UITableView对象的 delegate要设置为 self。 3. 然后就可以实现这些delegate的一些方...

悠哉悠哉e
2012/11/13
0
0
UITableView-的cell 自定义(高度and样式)

UITableView的强大更多程度上来自于可以任意自定义UITableViewCell单元格。通常,UITableView中的Cell是动态的,在使用过程中,会创建一个Cell池,根据每个cell的高度(即tableView:heightF...

谁家的阿毛
2014/05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
27
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部