Swiftgram/TelegramUI/RadialStatusContentNode.swift
2019-01-16 21:32:32 +04:00

31 lines
1000 B
Swift

import Foundation
import Display
import AsyncDisplayKit
class RadialStatusContentNode: ASDisplayNode {
func enqueueReadyForTransition(_ f: @escaping () -> Void) {
f()
}
private let duration: Double = 0.2
func prepareAnimateOut(completion: @escaping (Double) -> Void) {
completion(0.0)
}
func animateOut(to: RadialStatusNodeState, completion: @escaping () -> Void) {
self.layer.animateAlpha(from: 1.0, to: 0.0, duration: duration, removeOnCompletion: false, completion: { _ in
completion()
})
self.layer.animateScale(from: 1.0, to: 0.2, duration: duration, removeOnCompletion: false)
}
func prepareAnimateIn(from: RadialStatusNodeState?) {
}
func animateIn(from: RadialStatusNodeState, delay: Double) {
self.layer.animateAlpha(from: 0.0, to: 1.0, duration: duration, delay: delay)
self.layer.animateScale(from: 0.2, to: 1.0, duration: duration, delay: delay)
}
}