Задержка затухания анимации с помощью NSTextField (или NSView в целом) - PullRequest
0 голосов
/ 29 марта 2020

Есть 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...