gpt4 book ai didi

iphone - UITableViewCell 突出显示时使标签的背景清晰

转载 作者:IT老高 更新时间:2023-10-28 11:42:13 26 4
gpt4 key购买 nike

我在 UITableViewCell 上有一个 UIlabel,它是我以编程方式创建的(即不是 nib 或子类)。

当单元格突出显示(变为蓝色)时,它会使 UILabel 的所有背景颜色变得清晰。我有 2 个 UILabel,我不希望出现这种情况。目前我正在使用 UILabel 后面的 UIImageViews 使其看起来背景颜色没有改变。但这似乎是一种低效的方法。

当 UITableViewCell 突出显示时,如何阻止某些 UILabel 的背景颜色变化?

最佳答案

你需要继承 UITableViewCell 并重写以下两个方法:

Objective-C :

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
UIColor *backgroundColor = self.myLabel.backgroundColor;
[super setHighlighted:highlighted animated:animated];
self.myLabel.backgroundColor = backgroundColor;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
UIColor *backgroundColor = self.myLabel.backgroundColor;
[super setSelected:selected animated:animated];
self.myLabel.backgroundColor = backgroundColor;
}

swift

override func setSelected(_ selected: Bool, animated: Bool) {
let color = myLabel.backgroundColor
super.setSelected(selected, animated: animated)
myLabel.backgroundColor = color
}

override func setHighlighted(_ highlighted: Bool, animated: Bool) {
let color = myLabel.backgroundColor
super.setHighlighted(highlighted, animated: animated)
myLabel.backgroundColor = color
}

关于iphone - UITableViewCell 突出显示时使标签的背景清晰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2965085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com