我有一个NSTextField作为时钟的显示器。在任何给定时间,它都会显示如下内容:10:42:22
窗口的背景会改变颜色。有时它是浅色背景,有时它是黑暗的。现在,文字颜色发生变化,因此它在背景上可见,但它是即时的。我喜欢它褪色。
当我使用CATransition
并设置textColor
时,这似乎很有效。但是,它也会淡化文本本身的字符串。想象一下10:42:22
交叉淡入10:42:23
。我希望字符串能够像数字时钟一样立即改变,而颜色则会顺畅地消失。
我也尝试过:
animator().textColor = someOtherColor
但这似乎没有任何效果。颜色会继续变化,但不会从一个变为另一个。
这是我正在寻找文字效果的快速模型。
答案 0 :(得分:0)
此代码对我有用:
private func animateTitleColor(selected: Bool, completion: (()->())?) {
if !selected{
NSAnimationContext.runAnimationGroup({ (context) in
context.duration = self.animationInterval
self.titleLabel.animator().textColor = rgb(red: 197, green: 191, blue: 196)
}, completionHandler: completion)
}else{
NSAnimationContext.runAnimationGroup({ (context) in
context.duration = self.animationInterval
self.titleLabel.animator().textColor = .white
}, completionHandler: completion)
}
}
titleLabel
的声明如下:let titleLabel = NSTextField()