`

donghua

 
阅读更多
iPhone开发中动画效果实现分类代码是本文要介绍的内容,但是内容不是很多,主要是以代码的形式来实现动画的分类,来看详细代码,希望对你帮助!


    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationRepeatCount:1]; 
    [UIView setAnimationDuration:1]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];  
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(resetView)]; 
     
    CGAffineTransform oneTransform = CGAffineTransformRotate(self.animatView.transform, degreesToRadian(180)); 
    CGAffineTransform twoTransform = CGAffineTransformTranslate(self.animatView.transform,0,-100); 
    CGAffineTransform newTransform = CGAffineTransformConcat(oneTransform, twoTransform); 
    [self.animatView setTransform:newTransform]; 
    [UIView commitAnimations]; 

- (void) second_animations 

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"]; 
    [animation setDuration:1]; 
    [animation setRepeatCount:0]; 
    [animation setAutoreverses:YES];//自动反向动画 
    [animation setFromValue:[NSNumber numberWithFloat:1.0]]; 
    [animation setToValue:[NSNumber numberWithFloat:0]]; 
    [animation setDelegate:self]; 
    [self.animatView.layer addAnimation:animation forKey:@"firstView-Opacity"]; 

- (void) third_animations 

    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationRepeatCount:1]; 
    [UIView setAnimationDuration:1]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];  
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.containView cache:YES]; 
    [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:)]; 
    [UIView commitAnimations]; 

- (void) fourth_animations 

    CATransition *transition = [CATransition animation]; 
    transition.duration = 1.0f;          
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];  
    transition.type = @"pageCurl";  //@"cube" @"moveIn" @"reveal" @"fade"(default) @"pageCurl"
              @"pageUnCurl" @"suckEffect" @"rippleEffect" @"oglFlip" 
    transition.subtype = kCATransitionFromRight; 
    transition.removedOnCompletion = YES; 
    transition.fillMode = kCAFillModeBackwards; 
    transition.delegate = self; 
    [self.animatView.layer addAnimation:transition forKey:nil];   

-(void) resetView 

    [self.animatView setTransform:CGAffineTransformRotate(self.animatView.transform, degreesToRadian(180))]; 
    self.animatView.frame = CGRectMake(0, 0, 280, 200); 

#pragma mark Delegate Methods 
- (void)animationDidStop:(CAAnimation *) theAnimation finished:(BOOL) flag { 
    self.animatView.frame = CGRectMake(0, 0, 280, 200); 


#define degreesToRadian(x) (M_PI * (x) / 180.0)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics