转场动画过渡效果

类型字符串                            效果说明                                     关键字      方向
fade                                    交叉淡化过渡                               YES    
push                                   新视图把旧视图推出去                    YES
moveIn                               新视图移到旧视图上面                     YES
reveal                                 将旧视图移开,显示下面的新视图         YES
cube                                   立方体翻滚效果    
oglFlip                                上下左右翻转效果
suckEffect                           收缩效果,如一块布被抽走                               NO         
rippleEffect                         水滴效果                                                      NO
pageCurl                            向上翻页效果
pageUnCurl                        向下翻页效果
cameraIrisHollowOpen         相机镜头打开效果                                            NO
cameraIrisHollowClose         相机镜头关闭效果                                            NO

CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点
UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果
动画属性:
-type:动画过渡类型
-subtype:动画过渡方向
-startProgress:动画起点(在整体动画的百分比)
-endProgress:动画终点(在整体动画的百分比)

- (void) swipAction:(UISwipeGestureRecognizer *)recognizer

{

    CATransition *anim = [[CATransition alloc]init];
    //动画过渡类型
    [anim setType:@"fade"];

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

    if(UISwipeGestureRecognizerDirectionLeft == recognizer.direction){
        //动画过渡方向
        [anim setSubtype:kCATransitionFromRight];

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

    }else if(UISwipeGestureRecognizerDirectionRight == recognizer.direction){

        [anim setSubtype:kCATransitionFromLeft];

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

    }

    [anim setDuration:0.5f];

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

    [recognizer.view.layer addAnimation:anim forKey:nil];

}
原文地址:https://www.cnblogs.com/yyh123/p/3348106.html