//
|
// HIKLoadViewItem+configPath.m
|
// VideoGo
|
//
|
// Created by zhil.shi on 15/3/9.
|
// Copyright (c) 2015年 HIKVison. All rights reserved.
|
//
|
|
#import "HIKLoadViewItem+configPath.h"
|
static float SQUARE_LEN = 14.0;
|
static float ANIMATION_DURING_TIME = 2.5;
|
@implementation HIKLoadViewItem (configPath)
|
|
- (void)configKeyFrameAnimationForColorLayerWithStartLoadingStyle:(HIKLoadViewStartLoadingSyle)style
|
{
|
|
CGPoint leftTop = CGPointMake(0.0, 0.0);
|
CGPoint rightTop = CGPointMake(SQUARE_LEN, 0.0);
|
CGPoint rightBottom = CGPointMake(SQUARE_LEN, SQUARE_LEN);
|
CGPoint leftBottom = CGPointMake(0.0, SQUARE_LEN);
|
UIBezierPath *path = [UIBezierPath bezierPath];
|
|
switch (style) {
|
|
case HIKLoadViewStartFromLeftBottom:
|
{
|
[path moveToPoint:leftBottom];
|
[path addLineToPoint:leftTop];
|
[path addLineToPoint:rightTop];
|
[path addLineToPoint:rightBottom];
|
[path addLineToPoint:leftBottom];
|
}
|
break;
|
case HIKLoadViewStartFromLeftTop:
|
{
|
[path moveToPoint:leftTop];
|
[path addLineToPoint:rightTop];
|
[path addLineToPoint:rightBottom];
|
[path addLineToPoint:leftBottom];
|
[path addLineToPoint:leftTop];
|
}
|
break;
|
case HIKLoadViewStartFromRightBottom:
|
{
|
[path moveToPoint:rightBottom];
|
[path addLineToPoint:leftBottom];
|
[path addLineToPoint:leftTop];
|
[path addLineToPoint:rightTop];
|
[path addLineToPoint:rightBottom];
|
}
|
break;
|
case HIKLoadViewStartFromRightTop:
|
{
|
[path moveToPoint:rightTop];
|
[path addLineToPoint:rightBottom];
|
[path addLineToPoint:leftBottom];
|
[path addLineToPoint:leftTop];
|
[path addLineToPoint:rightTop];
|
}
|
break;
|
default:
|
break;
|
}
|
// self.colorCirculeLayer.anchorPoint = CGPointZero;
|
self.colorCirculeLayer.position = CGPointZero;
|
self.colorCirculeLayer.opacity = 1.0;
|
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
|
animation.duration = ANIMATION_DURING_TIME;
|
animation.path = path.CGPath;
|
animation.calculationMode = kCAAnimationPaced;
|
animation.repeatCount = HUGE_VALF;
|
animation.additive = YES;
|
animation.fillMode = kCAFillModeForwards;
|
animation.removedOnCompletion = NO;
|
[self.colorCirculeLayer addAnimation:animation forKey:@"position"];
|
}
|
|
- (void)stayOnPresentationLayerPosition
|
{
|
CALayer *presentationLayer = [self.colorCirculeLayer presentationLayer];
|
[[self.colorCirculeLayer modelLayer] setPosition:presentationLayer.position];
|
}
|
@end
|