UITableViewCell高亮(按下)时,子视图背景色变透明的解决方法

原创 2016年11月16日 23:09:51

UITableViewCell highlighted subviews backgroundColor


自定义的UITableViewCell,在上面添加一个UIView(这里是UILabel),设置UILabel背景色。但是当cell处于按下状态时,UILabel背景色就会消失。如图(选中行的(2)背景色消失):



其实这个问题的原因可以在文档里找到,(大意)当cell处于highlighted/selected状态时,默认会执行如下动作:

1:将其所有子视图的backgroundColor设置为清除颜色(透明)。

2:突出显示可以突出显示的所有子视图内容(就是强调内容),例如UIImageView。


想要让消失的UILabel背景色回来,只要解决第一个问题即可。

解决方法:

重载自定义cell的highlighted方法(是否重载selected看你需要),需要注意设置:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

否则cell高亮时还是会执行系统默认动作。

//由于numLabel修改了背景颜色,所以高亮需要自己处理
//注意:cell的selectionStyle必须是:UITableViewCellSelectionStyleNone;否则无效
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
    [super setHighlighted:highlighted animated:animated];
    //动画高亮变色效果
    [UIView animateWithDuration:0.3 animations:^{
        if(highlighted)
            self.contentView.backgroundColor = [UIColor colorWithWhite:0.85 alpha:1];
        else
            self.contentView.backgroundColor = [UIColor whiteColor];
    }];
}

这样问题就解决了。


转载请注明出处:http://blog.csdn.net/cuibo1123

=======


欢迎加我微信探讨问题:lofocus



版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus 举报

相关文章推荐

TableViewCell 自定义点击的高亮颜色

在工作中遇到自定义cell点击效果的需求,系统的grayType色值与UI给的不一致。可以采用下面的方法实现。 1:在自定义的UITableViewCell的 -(void)aweakFromNib{...

iOS 自定义cell点击后里面的子控件背景颜色被改变解决办法

1. 有一个自定义的cell,里面添加了一个自定义的背景颜色是红色的BadgeView控件,当点击cell的时候,BadgeView控件的背景颜色没了,如下图: 2. 解决办法是在c...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

软件项目报价方法

软件项目一般包括解决方案、开发、维护、系统集成等。以下将分别介绍软件开发价格、软件(系统)维护价格、系统集成价格、系统解决方案费用的价格估算方法,以供大家参考。

软件项目开发报价指南

公司一直以来都在接新开发的,定制化的解决方案开发项目,在和客户取得了互信以后,首先会遇到的问题就是:多少钱?报个价吧。往往,我们的销售经理就蔫吧了,具体研发需要多少钱?我得去问问项目经理,那项目经理又...

ios业务模块间互相跳转的解耦方案

一个app通常由许多个模块组成,所有模块之间免不了会相互调用,例如一个读书管理软件,可能会有书架、用户信息、图书详情等等模块,从用户信息-我读的书中,可以打开图书详情。而在图书详情-所在书架,又可以打...

iOS集成微信支付的一些坑:onResp不回调、只显示一个确定按钮、闪回

iOS集成微信支付总体来说还是比较容易的(如果没有那些坑的话),关于:发起支付之后只显示一个确定按钮,没有任何错误提示,断点返回的Url Schemes,也只有一个ret=-2,官方文档解释为: “...

科普:alphago是什么

鉴于大部分人类对alphago的认识:1:Alphago有什么了不起的?不就是算得快吗,ibm早在20年前就通过象棋战胜人类了,又是Google的一次营销。2:alphago 实现人工智能了,电脑马上...

UITableView UITableViewCell点击时,子view背景色消失

在自定义cell时经常会遇到给view添加背景色,但是点cell后,所有的背景色都变成cell的高亮颜色了 例如在cell中添加一个label设置label的背景色,点击后效果如下 解决办法:...

当UITableViewCell被选中时,上面的自定义view消失的问题

当UITableViewCell被选中时,上面的自定义view消失的问题

多任务切换时SurfaceView闪现背景色问题的一个解决方法

现象描述:在Home界面打开多任务进入activity,SurfaceView上面闪现背景色,非常影响UI界面和交互,如图所示:    我在网上也搜索了一些方法,常见的就是说在XML界面里面...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)