iOS Core Animation详解(五)CATransition
2015-08-08 23:06
573 查看
欢迎关注我的iOS SDK详解专栏
http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html
不知不觉iOS的动画系列文章已经写到第五篇了,在这里,能方便的找到我之前写的四篇关于动画的文章。
前言:
![](http://img.blog.csdn.net/20150808225740085)
核心代码,
完整的代码
要在先在Storyboard上拖拽一个imageview,并拖拽outlet
![](http://img.blog.csdn.net/20150808230230106)
代码
主要种类有四种
次要种类也有四种
http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html
不知不觉iOS的动画系列文章已经写到第五篇了,在这里,能方便的找到我之前写的四篇关于动画的文章。
前言:
CATransition是CAAnimation的子类,最主要的用途是用来定义view reload的转场动画。使用这个集成好的类,可以几行代码就创建出不错的效果。
效果一
动图核心代码,
CATransition * transition = [CATransition animation]; transition.type = kCATransitionFade; transition.duration = 1.0; [self.imageview.layer addAnimation:transition forKey:@"ToNext"]; self.imageview.image = nextImage;
完整的代码
要在先在Storyboard上拖拽一个imageview,并拖拽outlet
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageview;
@property (assign,nonatomic)NSInteger currentIndex;
@end
@implementation ViewController
-(NSArray *)imagesNamesArray{
return @[@"meidui1.jpg",
@"meidui2.jpg"];
}
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeToNextImage)];
self.imageview.userInteractionEnabled = true;
[self.imageview addGestureRecognizer:tap];
self.currentIndex = 0;
}
-(void)changeToNextImage{
self.currentIndex = (self.currentIndex + 1) % 2;
NSString * imageName = [[self imagesNamesArray] objectAtIndex:self.currentIndex];
UIImage * nextImage = [UIImage imageNamed:imageName];
CATransition * transition = [CATransition animation]; transition.type = kCATransitionFade; transition.duration = 1.0; [self.imageview.layer addAnimation:transition forKey:@"ToNext"]; self.imageview.image = nextImage;
}
效果二
动图代码
CATransition * transition = [CATransition animation]; transition.duration = 1.0;//动画间隔 transition.type = kCATransitionMoveIn;//主要种类,决定动画效果 transition.startProgress = 0.0;//开始 transition.endProgress = 1.0;//结束 transition.subtype = kCATransitionFromRight;//次要种类,决定动画方向 transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];//时间函数 [self.imageview.layer addAnimation:transition forKey:@"ToNext"]; self.imageview.image = nextImage;
主要种类有四种
NSString * const kCATransitionFade; //消退 NSString * const kCATransitionMoveIn;//移入 NSString * const kCATransitionPush;//push NSString * const kCATransitionReveal;//退出
次要种类也有四种
NSString * const kCATransitionFromRight; NSString * const kCATransitionFromLeft; NSString * const kCATransitionFromTop; NSString * const kCATransitionFromBottom;
相关文章推荐
- 运行时Runtime 小结
- iOS开发概述 - 15.核心动画概述(Core Animation)
- iOS开发概述 - 14.CALayer隐式动画
- iOS程序启动的完整过程
- iOS开发拓展篇—静态库
- iOS 调试用Log()与随机颜色设置
- [IOS]IOS绘画概念
- iOS-线程之GCD---之GCD的几种常用常用的方法
- iOS-线程之GCD方式---之同步异步和串行队列并行队列之间的关系
- iOS第三方Api及常用框架总结
- HDU 1017 A Mathematical Curiosity
- 开源中国IOSclient
- iOS 读书笔记-国际化
- iOS NSOperation 封装 通知实现界面更新
- iOS NSOperation 异步加载图片 封装NSOperation 代理更新
- 首次使用pod遇到问题后在stackoverflow寻找的解决方案
- iOS ARC 下的单例模式
- iOS 8 地图授权
- iOS 线程间共享资源添加排它锁
- HDU-OJ-1017 A Mathematical Curiosity-整数对