mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
Animation menu improvements
This commit is contained in:
parent
c7c46e23b0
commit
56115402e1
@ -13,6 +13,7 @@ swift_library(
|
||||
"//submodules/Display:Display",
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
||||
"//submodules/LegacyComponents:LegacyComponents",
|
||||
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
|
@ -3,6 +3,7 @@ import UIKit
|
||||
import Display
|
||||
import AsyncDisplayKit
|
||||
import LegacyComponents
|
||||
import SwiftSignalKit
|
||||
|
||||
private final class RadialProgressContentCancelNodeParameters: NSObject {
|
||||
let color: UIColor
|
||||
@ -159,10 +160,14 @@ private final class RadialProgressContentSpinnerNode: ASDisplayNode {
|
||||
}
|
||||
}
|
||||
|
||||
private var hierarchyVersion: Int = 0
|
||||
override func willEnterHierarchy() {
|
||||
super.willEnterHierarchy()
|
||||
|
||||
if self.animateRotation {
|
||||
self.hierarchyVersion += 1
|
||||
|
||||
if self.layer.animation(forKey: "progressRotation") == nil {
|
||||
let basicAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
|
||||
basicAnimation.duration = 1.5
|
||||
var fromValue = Float.pi + 0.58
|
||||
@ -178,13 +183,19 @@ private final class RadialProgressContentSpinnerNode: ASDisplayNode {
|
||||
self.layer.add(basicAnimation, forKey: "progressRotation")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override func didExitHierarchy() {
|
||||
super.didExitHierarchy()
|
||||
|
||||
if self.animateRotation {
|
||||
let version = self.hierarchyVersion
|
||||
Queue.mainQueue().after(0.1, {
|
||||
if self.hierarchyVersion == version {
|
||||
self.layer.removeAnimation(forKey: "progressRotation")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user