Есть NSTextField, который я хочу исчезнуть через несколько секунд. Я думаю, что это можно сделать альтернативно, используя CAKeyframeAnimation, если я использовал CATextLayer, но это не поддерживает сглаживание текста.
Итак, у меня есть этот обходной путь, чтобы сделать задержку затухания, но это нехорошо, если я хочу отменить анимацию, так как мне нужно отменить и задержку выполнения (), и анимацию.
func showText(message: String) {
self.textfield.cell?.title = message
self.textfield.animator().alphaValue = 1.0
perform(#selector(hideText), with: nil, afterDelay: 3)
}
@objc func hideText() {
NSAnimationContext.runAnimationGroup({ _ in
NSAnimationContext.current.duration = 3.0
self.textfield.animator().alphaValue = 0.0
}, completionHandler: {
})
}
Есть ли лучший способ реализовать замедленное затухание с помощью Core Animation? Я не мог понять, как это сделать, используя только Core Animation.