// // KWMSplashView.m // iCemarose // // Created by HouWeiBin on 16/9/5. // Copyright © 2016年 kollway. All rights reserved. // #import "KWMSplashView.h" #import <QuartzCore/QuartzCore.h> @implementation KWMSplashView - (id)init{ if (self=[super init]){ [self addView]; } return self; } - (id)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if (self) { [self addView]; } return self; } -(instancetype)initWithFrame:(CGRect)frame{ if (self =[super initWithFrame:frame]) { [self addView]; } return self; } -(void)awakeFromNib{ [super awakeFromNib]; [self addView]; } -(void) addView{ [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil]; self.vView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height); [self addSubview:self.vView]; [self initView]; } -(void)initView{ [self.vLoading initLoadingView]; [self.vLoading startAnimation]; // // 对Y轴进行旋转(指定Z轴的话,就和UIView的动画一样绕中心旋转) // CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; // // // 设定动画选项 // animation.duration = 0.75; // 持续时间 // animation.repeatCount = CGFLOAT_MAX; // 重复次数 // // // 设定旋转角度 // animation.fromValue = [NSNumber numberWithFloat:0.0]; // 起始角度 // animation.toValue = [NSNumber numberWithFloat:2 * M_PI]; // 终止角度 // // // // 添加动画 // [self.ivLoading.layer addAnimation:animation forKey:@"animateTransform"]; } -(void)hide{ // 透明度动画 CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"]; // 设定动画选项 animation.duration = 1; // 持续时间 animation.repeatCount = 1; // 重复次数 animation.fillMode = kCAFillModeForwards; animation.removedOnCompletion = NO; [animation setValue:@"MyHideAnim" forKey:@"animName"]; animation.fromValue = [NSNumber numberWithFloat:1.0]; // 起始透明度 animation.toValue = [NSNumber numberWithFloat:0]; // 终止透明度 animation.delegate = self; // 添加动画 [self.vContent.layer addAnimation:animation forKey:@"MyHideAnim"]; } -(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{ if([[anim valueForKey:@"animName"]isEqualToString:@"MyHideAnim"]){ self.hidden = YES; [self.vContent.layer removeAllAnimations]; } } @end