圖片的旋轉動畫

#pragma  mark -
#pragma mark 圖片旋轉方法
- (void)createRotate {
    
    UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, width(self.radarImageView.frame), height(self.radarImageView.frame))];
    image.image = [UIImage imageNamed:@"updateScanning4"];
    [self.radarRomationImageView addSubview:image];
    
    UIImageView *image1 = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, width(self.radarImageView.frame), height(self.radarImageView.frame))];
    image1.image = [UIImage imageNamed:@"updateScanning3"];
    [self.radarRomationImageView addSubview:image1];
    
    //添加動畫
    CABasicAnimation *monkeyAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    monkeyAnimation.toValue = [NSNumber numberWithFloat:2.0 *M_PI];
    monkeyAnimation.duration = 1.5f;
    monkeyAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
    monkeyAnimation.cumulative = NO;
    monkeyAnimation.removedOnCompletion = NO; //No Remove
    
    monkeyAnimation.repeatCount = FLT_MAX;
    
    [self.radarRomationImageView.layer addAnimation:monkeyAnimation forKey:@"AnimatedKey"];
    [self.radarRomationImageView stopAnimating];
    
    // 加載動畫 但不播放動畫
    self.radarRomationImageView.layer.speed = 0.0;
    
}

- (void)playRomation {
    NSArray *views = [self.radarRomationImageView subviews];
    if (views.count > 1) {
        [views[1] setHidden:NO];
    }
    self.radarImageView.image = [UIImage imageNamed:@"updateScanning2"];
    self.radarRomationImageView.layer.speed = 0.6;
    self.radarRomationImageView.layer.beginTime = 0.0;
    CFTimeInterval pausedTime = [self.radarRomationImageView.layer timeOffset];
    CFTimeInterval timeSincePause = [self.radarRomationImageView.layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;
    self.radarRomationImageView.layer.beginTime = timeSincePause;
}

發佈了51 篇原創文章 · 獲贊 24 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章