作者:极御云安全 | 来源:互联网 | 2023-05-26 19:54
如何更改iOS Swift中textColor
的a label
或cell
on选项?
我希望背景不要改变.只有textColor
,seperatorColor
如果有的话.就像是:
label.highlightedTextColor = UIColor.whiteColor();
我已经看到在一些颜色发生变化的应用中会发生这种情况.但我无法接近它.根据Apple Dev Reference:
使用标签实现一种文本按钮的子类在绘制按钮的按下状态时可以使用此属性中的值.只要highlight属性设置为true,此颜色就会自动应用于标签.
但是,标签编译得很好,并且不会在突出显示时改变颜色.按钮没有highlightedTextColor
1> Rawan..:
如果您(使用/不使用)自定义单元格(作为xib),您可以选择标签,并从实用程序转到突出显示并将颜色更改为您要在选择中显示的颜色.这是一个更清晰的快照:)
2> Mario Suboti..:
我已经尝试过将其设置好didSelectAtIndexPath
,didDeselectAtIndexPath
但颜色会随着延迟而改变.我不喜欢那样.
这就是我最终解决问题的方法:
我已经将我的子类UITableViewCell
连接起来并连接了所有的@IBOutlet
s.在awakeFromNib()
我只是这样做:
@IBOutlet weak var myLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
self.myLabel.highlightedTextColor = .blackColor()
}
现在完美运作!
顺便说一下这是我关于堆栈溢出的第一个答案,请对我好.呵呵
(我使用的是Swift 2.0和Xcode 7.2.1)
3> rakeshbs..:
您可以设置颜色didSelectAtIndexPath
和didDeselectAtIndexPath
和cellForRowAtIndexPath
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.cellForRowAtIndexPath(indexPath)?.textLabel?.textColor = UIColor.blackColor()
}
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
tableView.cellForRowAtIndexPath(indexPath)?.textLabel?.textColor = UIColor.redColor()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Dequeue cell
cell.textLabel?.textColor = UIColor.redColor()
}