Animation动画视图



@property(nonatomic,strong)NSArray*imageArray;

 

 

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor= [UIColor blackColor];

    UIImage * image=[UIImage imageNamed:@"圣斗士01.jpg"];

    UIImageView* imageView=[[UIImageView alloc]initWithFrame:self.view.bounds];

    imageView.userInteractionEnabled=YES;

    imageView.image=image;

    

    [self.view addSubview:imageView];

    

    //添加轻扫手势

    UISwipeGestureRecognizer * swipeLeft=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swip:)];

    

    [swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];

    

    [imageView addGestureRecognizer:swipeLeft];

    

    UISwipeGestureRecognizer * swipeRight=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swip:)];

    

    [swipeRight setDirection:UISwipeGestureRecognizerDirectionRight];

    

    [imageView addGestureRecognizer:swipeRight];

    

    //3 初始化数据

    NSMutableArray * arrayM=[NSMutableArray arrayWithCapacity:15];

    for (NSInteger i=1; i<=15; i++) {

        NSString * imageName=[NSString stringWithFormat:@"圣斗士%02d.jpg",(int)i];

        UIImage *image=[UIImage imageNamed:imageName];

        [arrayM addObject:image];

        

    }

    self.imageArray=arrayM;

 

    

}

#pragma mark -----轻扫手势-----

-(void)swip:(UISwipeGestureRecognizer*)swipe

{

    //实例化转场动画 注意不

    CATransition * transition=[[CATransition alloc]init];

    

    //1 设置类型type

    /**

     kCATransitionFade

     交叉淡化过滤

     kCATransitionMoveIn

     新视图移动到就是图的上边

     kCATransitionPush

     新视图把旧视图推过去

     kCATransitionReveal

     讲旧视图移开显示新视图

     以上几个为直接写的

     

     

     

     下边的是写在这个@“” 里边的

     cube      oglflip           suckEffect

     立体翻页   上下左右翻页的效果   收缩的效果

     

     rippleEffect   pageCurl    pageUnCutl

     的效果        翻页        向下翻页

     cameraIrisHollowOpen

     相机打开的效果

     

     cameraIrisHollowClose

     相机关闭的效果

     */

    [transition setType:@"cube"];

    

    //2 根据轻扫方向来设置子类的类型 subtype

    //判断轻扫的方向

    UIImageView *imageView=(UIImageView*)swipe.view;

    

    

    

    if (UISwipeGestureRecognizerDirectionLeft==swipe.direction) {

        [transition setSubtype:kCATransitionFromRight];

        

        imageView.tag=(imageView.tag+1) % self.imageArray.count;

        

    }else

    {

        [transition setSubtype:kCATransitionFromLeft];

        //负数取模 注意修正索引

        imageView.tag=(imageView.tag-1+self.imageArray.count)%self.imageArray.count;

    }

    

    //设置时长

    [transition setDuration:0.5f];

    

    /**

     *  在使用转场动画的时候 在转场动画添加到图层之前 设置视图的内容 转场动画会自动的完场内容的过滤

     可以通过imageView tag值的属性记录当前的image索引

     */

    // 添加动画

    

    [imageView setImage:self.imageArray[imageView.tag]];

    

    

    // 动画添加到视图

    [swipe.view.layer addAnimation:transition forKey:nil];

    

    

 

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值