iOS: UITableViewCell点击效果下, 防止子控件背景颜色改变
来源:互联网 发布:php addslashes 编辑:程序博客网 时间:2024/05/16 08:28
- UITableViewCell在选中状态下, 上面的子控件会被渲染, 而改变颜色
如下图所示:
- 橙色按钮被渲染, 颜色改变
有时, 我们不想要子控件的颜色被渲染, 而是在整个点击过程中颜色都不变
如下图所示:
我们可以在自定义的cell中(继承自UITableViewCell)重写下面两个方法:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
具体实现如下
- (void)setSelected:(BOOL)selected animated:(BOOL)animated{ // 获取 contentView 所有子控件 NSArray<__kindof UIView *> *subViews = self.contentView.subviews; // 创建颜色数组 NSMutableArray *colors = [NSMutableArray array]; for (UIView *view in subViews) { // 获取所有子控件颜色 [colors addObject:view.backgroundColor ?: [UIColor clearColor]]; } // 调用super [super setSelected:selected animated:animated]; // 修改控件颜色 for (int i = 0; i < subViews.count; i++) { subViews[i].backgroundColor = colors[i]; }}- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{ // 获取 contentView 所有子控件 NSArray<__kindof UIView *> *subViews = self.contentView.subviews; // 创建颜色数组 NSMutableArray *colors = [NSMutableArray array]; for (UIView *view in subViews) { // 获取所有子控件颜色 [colors addObject:view.backgroundColor ?: [UIColor clearColor]]; } // 调用super [super setHighlighted:highlighted animated:animated]; // 修改控件颜色 for (int i = 0; i < subViews.count; i++) { subViews[i].backgroundColor = colors[i]; }}
阅读全文
0 0
- iOS: UITableViewCell点击效果下, 防止子控件背景颜色改变
- iOS: UITableViewCell点击效果下, 防止子控件背景颜色改变
- iOS 自定义cell点击后里面的子控件背景颜色被改变解决办法
- iOS 自定义Tabbar 改变点击背景颜色
- UITableViewCell点击时背景颜色
- UITableViewCell点击时背景颜色
- UITableViewCell点击时背景颜色
- UITableViewCell点击时背景颜色
- UITableViewCell点击时背景颜色
- 点击改变背景颜色
- 点击背景颜色效果
- android gridview点击子选项动态改变item背景颜色
- android选择或点击背景颜色改变效果
- Android TextView的点击效果之改变背景颜色
- jquery鼠标点击改变控件的背景颜色
- UITableViewCell 自定义点击状态时背景颜色
- listview、GridView单点击效果,点击改变背景改变item字体颜色实现
- 点击linearlayout,改变背景颜色
- Windows系统传输文件到Ubuntu下
- CSDN日报20170824——《你为什么跳槽?真正原因找到了吗?》
- WEB开发者必须掌握的Linux命令
- jQuery制作幻灯片之封装插件
- 【ArcSDE/Oracle】配置Oracle使SQL可以对ST_GEOMETRY类型操作
- iOS: UITableViewCell点击效果下, 防止子控件背景颜色改变
- Vue结合Element UI实现导航的router属性 expected boolean,got string
- 谈自动化测试框架思想与构建
- 在线支付设计
- 2017小学奥数培训机构排名
- 【Mybatis升级版-01】mybatis与Spring整合dao
- [iOS]对TableHeaderView添加约束后适配高度
- Windows下将jar包导入Maven本地仓库(Repository)
- 管道函数