iOS CATransition 转场动画

- (void)viewDidLoad {

    [super viewDidLoad];

    _imageArray= [[NSMutableArrayalloc]init];


    for(inti =1;  i <10; i ++) {


        NSString*imageName = [NSStringstringWithFormat:@"%d.jpg",i];


        UIImage*image = [UIImageimageNamed:imageName];

        [_imageArrayaddObject:image];

    }


    _imageView.image = _imageArray[0];


}

- (IBAction)tapAction:(id)sender {


    _index++;


    if (_index == _imageArray.count) {

        _index=0;

    }


    _imageView.image = _imageArray[_index];


    //添加转场动画

    CATransition*transition = [[CATransitionalloc]init];


    //设置属性


    /*st kCATransitionFade

     st kCATransitionMoveIn

     st kCATransitionPush

     st kCATransitionReveal*/

    //设置动画类型

   // transition.type =  kCATransitionReveal;


    /*kCATransitionFromRight

     kCATransitionFromLeft

     kCATransitionFromTop

     kCATransitionFromBottom*/


    //设置动画的方向


    ////私有:rippleEffect  水滴、cube立方体翻转、suckEffect收起效果

    transition.type=@"rippleEffect";

    transition.subtype=  kCATransitionFromRight;


    transition.duration=1;


    [_imageView.layeraddAnimation:transitionforKey:nil];

}

    //自定义push动画

SecondViewController *secondCtrl = [[SecondViewController alloc] init];

    CATransition*transition = [[CATransitionalloc]init];


//    transition.duration = 1;


    transition.type=@"rippleEffect";


    transition.subtype = kCATransitionFromTop;


    [self.navigationController.view.layer  addAnimation:transition forKey:nil];


    [self.navigationController pushViewController:secondCtrl animated:NO];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容