UITableView 选择单元格时所有组件都更改了背景颜色
Posted
技术标签:
【中文标题】UITableView 选择单元格时所有组件都更改了背景颜色【英文标题】:UITableView all components are changed background color when selecting cell 【发布时间】:2016-10-19 09:01:18 【问题描述】:我正在自定义 tableview 的单元格。该单元格包括 2 个按钮(一个是红色的,另一个是蓝色的)。但是当我选择单元格时,2 个按钮的背景颜色更改为突出显示的单元格颜色。我希望它们在单元格突出显示时保持颜色。我的解决方案是捕获突出显示的tableview
代表并更改按钮的背景。
谁能给我另一种解决方案?
谢谢
【问题讨论】:
用您在问题中提出的问题检查我的回答。 【参考方案1】:您必须在 UITableViewCell
子类中覆盖 setHighlighted
和 setSelected
目标 C
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
UIColor *someViewColor = self.someView.backgroundColor;
[super setHighlighted:highlighted animated:animated];
self.someView.backgroundColor = someViewColor;
-(void)setSelected:(BOOL)selected animated:(BOOL)animated
UIColor *someViewColor = self.someView.backgroundColor;
[super setSelected:selected animated:animated];
self.someView.backgroundColor = someViewColor;
斯威夫特
override func setHighlighted(highlighted: Bool, animated: Bool)
let someViewColor = someView.backgroundColor
super.setHighlighted(highlighted, animated: animated)
someView.backgroundColor = someViewColor
override func setSelected(selected: Bool, animated: Bool)
let someViewColor = someView.backgroundColor
super.setSelected(selected, animated: animated)
someView.backgroundColor = someViewColor
【讨论】:
感谢您的快速答复。太棒了。以上是关于UITableView 选择单元格时所有组件都更改了背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
Swift:点击一个单元格时更改所有 UITableViewCells 的文本颜色