mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Build ChatListUI
This commit is contained in:
36
submodules/LegacyComponents/Sources/TGPhotoEditorAnimation.m
Normal file
36
submodules/LegacyComponents/Sources/TGPhotoEditorAnimation.m
Normal file
@@ -0,0 +1,36 @@
|
||||
#import <LegacyComponents/TGPhotoEditorAnimation.h>
|
||||
|
||||
@implementation TGPhotoEditorAnimation
|
||||
|
||||
+ (POPSpringAnimation *)prepareTransitionAnimationForPropertyNamed:(NSString *)propertyName
|
||||
{
|
||||
POPSpringAnimation *animation = [POPSpringAnimation animationWithPropertyNamed:propertyName];
|
||||
animation.springBounciness = 1;
|
||||
animation.springSpeed = 12;
|
||||
|
||||
return animation;
|
||||
}
|
||||
|
||||
+ (void)performBlock:(void (^)(bool))block whenCompletedAllAnimations:(NSArray *)animations
|
||||
{
|
||||
if (block == nil)
|
||||
return;
|
||||
|
||||
NSMutableSet *animationsSet = [NSMutableSet setWithArray:animations];
|
||||
__block bool allFinished = true;
|
||||
void (^onAnimationCompletion)(POPAnimation *, BOOL) = ^(POPAnimation *animation, BOOL finished)
|
||||
{
|
||||
if (!finished)
|
||||
allFinished = false;
|
||||
|
||||
[animationsSet removeObject:animation];
|
||||
|
||||
if (animationsSet.count == 0 && block != nil)
|
||||
block(allFinished);
|
||||
};
|
||||
|
||||
for (POPAnimation *animation in animations)
|
||||
animation.completionBlock = onAnimationCompletion;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user