码迷,mamicode.com
首页 > 其他好文 > 详细

通过layer的contents属性来实现uiimageview的淡入切换

时间:2015-03-31 00:25:10      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

#import "ViewController.h"

@interface ViewController ()
@property(nonatomic,strong)CALayer *imageLayer;
@end

@implementation ViewController

- (void)viewDidLoad {
    
    [super viewDidLoad];
    
    UIImage *image1=[UIImage imageNamed:@"1"];
    self.imageLayer=[CALayer layer];
    self.imageLayer.frame=CGRectMake(0, 0, 375, 300);
    self.imageLayer.contents=(__bridge id)image1.CGImage;
    [self.view.layer addSublayer:self.imageLayer];
    
    [self performSelector:@selector(layerAnimation) withObject:nil afterDelay:3];
}
-(void)layerAnimation
{
    /*隐式动画
    UIImage *image2=[UIImage imageNamed:@"2"];
    self.imageLayer.contents=(__bridge id)image2.CGImage;
    */
    //显示动画,图片动画
    UIImage *image2=[UIImage imageNamed:@"2"];
    CABasicAnimation *basicAnimation=[CABasicAnimation animationWithKeyPath:@"contents"];
    basicAnimation.fromValue=self.imageLayer.contents;
    basicAnimation.toValue=(__bridge id)image2.CGImage;
    basicAnimation.duration=3.0f;
    
    //bounds动画
    CABasicAnimation *boundsAnimation=[CABasicAnimation animationWithKeyPath:@"bounds"];
    boundsAnimation.fromValue=[NSValue valueWithCGRect:self.imageLayer.bounds];
    boundsAnimation.toValue=[NSValue valueWithCGRect:CGRectMake(0, 0, 375/2.0f, 300/2.0f)];
    boundsAnimation.duration=3.0f;
    
    //组合动画
    CAAnimationGroup *groupAnimation=[CAAnimationGroup animation];
    groupAnimation.animations=@[basicAnimation,boundsAnimation];
    groupAnimation.duration=3.0f;
    
    //设置layer动画结束后的值必须设置,否则的画会恢复动画之前的状态

    self.imageLayer.contents=(__bridge id)image2.CGImage;
    self.imageLayer.bounds=CGRectMake(0, 0, 375/2.0f, 300/2.0f);
    [self.imageLayer addAnimation:basicAnimation forKey:nil];
    
}

@end

 

通过layer的contents属性来实现uiimageview的淡入切换

标签:

原文地址:http://www.cnblogs.com/thbbsky/p/4379491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!