|
//
// IFTTTHideAnimation.m
// JazzHands
//
// Created by Devin Foley on 9/28/13.
// Copyright (c) 2013 IFTTT Inc. All rights reserved.
//
#import "IFTTTHideAnimation.h"
@interface IFTTTHideAnimation ()
@property (nonatomic, strong) UIView *view;
@end
@implementation IFTTTHideAnimation
+ (instancetype)animationWithView:(UIView *)view hideAt:(CGFloat)time
{
IFTTTHideAnimation *animation = [[[self class] alloc] initWithView:view
hideAt:time];
return animation;
}
+ (instancetype)animationWithView:(UIView *)view showAt:(CGFloat)time
{
IFTTTHideAnimation *animation = [[[self class] alloc] initWithView:view
showAt:time];
return animation;
}
- (instancetype)initWithView:(UIView *)view hideAt:(CGFloat)time
{
if((self = [super init])) {
_view = view;
[self addKeyframeForTime:time value:@(NO)];
[self addKeyframeForTime:time + 1 value:@(YES)];
}
return self;
}
- (instancetype)initWithView:(UIView *)view showAt:(CGFloat)time
{
if((self = [super init])) {
_view = view;
[self addKeyframeForTime:time value:@(YES)];
[self addKeyframeForTime:time + 1 value:@(NO)];
}
return self;
}
- (void)animate:(CGFloat)time
{
if (!self.hasKeyframes) return;
self.view.hidden = (BOOL)[(NSNumber *)[self valueAtTime:time] boolValue];
}
@end
|