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

最近项目中用到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做改变。这样的话就不会出现背景色覆盖分割线的问题了。


转载于:https://my.oschina.net/u/584517/blog/226254

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值