当前位置: 代码迷 >> Iphone >> 核心动画片——转场动画
  详细解决方案

核心动画片——转场动画

热度:278   发布时间:2016-04-25 05:21:40.0
核心动画——转场动画

转场动画:CATransition

属性介绍:

    ①type:转场动画的动画效果

         kCATransitionFade   交叉淡化过渡

         kCATransitionMoveIn 新视图移到旧视图上面

         kCATransitionPush   新视图把旧视图推出去

         kCATransitionReveal 将旧视图移开,显示下面的新视图

     转场动画的动画效果 私有api

       pageCurl            向上翻一页

       pageUnCurl          向下翻一页

       rippleEffect        滴水效果

       suckEffect          收缩效果 如一块布被抽走

       cube                立方体效果

       oglFlip             上下翻转效果

  ②subtype:转场动画的效果方向

         kCATransitionFromRight

         kCATransitionFromLeft

         kCATransitionFromTop

         kCATransitionFromBottom

    ③startProgress 开始进度 (0,1)

    ④endProgress 结束进度

以上就是关于转场动画的介绍

具体代码如下:

首先在Main.storyBoard里面创建一个UIImageView,设置image、contentModel,点击右键不放将他拖到工程@interface里面。

#import "ViewController.h"@interface ViewController (){    //图片的标记    int index;}@property (weak, nonatomic) IBOutlet UIImageView *imageView;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    }- (IBAction)leftSwipe:(id)sender {    [self changImageWithDirection:YES];        }- (IBAction)rightSwipe:(id)sender {    [self changImageWithDirection:NO];}- (void)changImageWithDirection:(BOOL)direction{       CATransition *animation = [CATransition animation];    animation.duration = 2;        if (direction != YES) {        index --;        NSLog(@"向右");        animation.type = @"oglFlip";//上下翻转效果        animation.subtype = kCATransitionFromLeft;//方向向左            }else{        index ++;        NSLog(@"向左");        animation.type = @"cube";//立方体效果        animation.subtype = kCATransitionFromRight;    }        if (index<0) {        index = 6;    }    if (index>6) {        index = 0;    }        self.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"社区%d.jpg",index+1]];    [self.imageView.layer addAnimation:animation forKey:@""];}@end

效果如下:

 

  相关解决方案