Search code examples
iphoneioscocoa-touchcalayercabasicanimation

Display the Image like Fade In using CABasicAnimation


I am rotating the Image 360 clockwise using the CABasicAnimation, and the code which I am using is

CALayer*    _caLayer = [CALayer layer];
_caLayer.contents = (id)_logo.CGImage;  
_caLayer.frame = CGRectMake(65,158, 180,55);
[self.view.layer addSublayer:_caLayer];
CABasicAnimation*   rotation;
rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotation.fromValue = [NSNumber numberWithFloat:0];    
rotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
rotation.duration = 1.4f;
//rotation.beginTime = CACurrentMediaTime() +1;
rotation.repeatCount = 2.0;
rotation.fillMode = kCAFillModeForwards;
[_caLayer addAnimation:rotation forKey:@"360"]; 

The animation is working fine.. But I cant figure out one thing. I want to start animate the image from smaller size and ends with the normal size. You have seen in movies like some newspapers will rotate fast and they fade in and finally we will see the paper in the screen fully. I am trying to do that way. I dont know how to do it, please !


Solution

  • You can use the following also, will works like a charm

    [UIView beginAnimations:@"fade in" context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    _imageView.alpha = 0.0;
    _newImageView.alpha = 1.0;
    [UIView commitAnimations];