mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-10 16:29:55 +00:00
Added bounds transition
This commit is contained in:
parent
c278cf193b
commit
ca80cc40dc
@ -91,6 +91,28 @@ public extension ContainedViewLayoutTransition {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func updateBounds(layer: CALayer, bounds: CGRect, force: Bool = false, completion: ((Bool) -> Void)? = nil) {
|
||||||
|
if layer.bounds.equalTo(bounds) && !force {
|
||||||
|
completion?(true)
|
||||||
|
} else {
|
||||||
|
switch self {
|
||||||
|
case .immediate:
|
||||||
|
layer.bounds = bounds
|
||||||
|
if let completion = completion {
|
||||||
|
completion(true)
|
||||||
|
}
|
||||||
|
case let .animated(duration, curve):
|
||||||
|
let previousBounds = layer.bounds
|
||||||
|
layer.bounds = bounds
|
||||||
|
layer.animateBounds(from: previousBounds, to: bounds, duration: duration, timingFunction: curve.timingFunction, force: force, completion: { result in
|
||||||
|
if let completion = completion {
|
||||||
|
completion(result)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func updatePosition(node: ASDisplayNode, position: CGPoint, completion: ((Bool) -> Void)? = nil) {
|
func updatePosition(node: ASDisplayNode, position: CGPoint, completion: ((Bool) -> Void)? = nil) {
|
||||||
if node.position.equalTo(position) {
|
if node.position.equalTo(position) {
|
||||||
completion?(true)
|
completion?(true)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user