#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageV; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; } static int _i = ;
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //转场代码与转场动画必须得在同一个方法当中. //转场代码
// _i++;
// if (_i == 4) {
// _i = 1;
// }
//
// NSString *imageName = [NSString stringWithFormat:@"%d",_i];
// self.imageV.image = [UIImage imageNamed:imageName];
//
//
// //添加转场动画
// CATransition *anim = [CATransition animation];
// anim.duration = 1;
// //设置转场的类型
// anim.type = @"pageCurl";
//
// //设置动画的起始位置
// anim.startProgress = 0.3;
// //设置动画的结束位置
// anim.endProgress = 0.5;
//
//
//
// [self.imageV.layer addAnimation:anim forKey:nil]; // [UIView transitionWithView:self.imageV duration:0.5 options:UIViewAnimationOptionTransitionCurlUp animations:^{ //转场 代码
_i++;
if (_i == ) {
_i = ;
} NSString *imageName = [NSString stringWithFormat:@"%d",_i];
self.imageV.image = [UIImage imageNamed:imageName];
} completion:^(BOOL finished) { }]; } - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

1.什么是转场动画?

就是从一个场景转换到另一个场景,像导航控制器的push效果,就是一个转场.

2.如何创建转场动画

创建转场动画

CATransition *anim = [CATransition animation];

设置转场类型

anim.type = @"cube";

anim.duration = 1;

设置转场的方向

anim.subtype = kCATransitionFromLeft;

设置动画的开始位置

anim.startProgress = 0.5;

设置动画的结束位置

anim.endProgress  =0.8;

添加动画.了

[_imageV.layer addAnimation:anim forKey:nil];

要执行动画的代码称为转场代码.

转场动画要和转场代码写在同一个方法当中才有动画效果.

3.UIView进行转场动画

[UIView transitionWithView:self.imageV duration:1

options:UIViewAnimationOptionTransitionFlipFromRight

animations:^{

转场代码

} completion:^(BOOL finished) {

动画执行完毕时调用.

}];

使用UIView转场的类型比较少.

最新文章

  1. Kinect外包团队(长年承接微软Kinect体感项目外包,有大型Kinect案例)
  2. ANY数据类型的使用
  3. UEditor上传图片到七牛云储存(java)
  4. c语言的基本语法
  5. hdu1664 Different Digits
  6. 服务器 ADO 错误:0x80004005,[DBNETLIB]
  7. ●Joyoi Dotp 驱逐猪猡
  8. 我们为什么要搞长沙.NET技术社区?
  9. JavaScript Dom 绑定事件
  10. 网页录像录音功能的实现之MediaRecorder的使用
  11. [Golang] 从零開始写Socket Server(4):将执行參数放入配置文件(XML/YAML)
  12. 【4-1】js函数、事件、补充知识
  13. Spring集成MyBatis的使用-使用Mapper映射器
  14. python json 数据操作
  15. 第三课:JAVA反射机制
  16. 898. Bitwise ORs of Subarrays
  17. HLS:OpenCV和RTL代码转换关系
  18. OpenERP 中国财务模块 调整
  19. centos下安装ipython(minglnghang命令行)
  20. spring框架里面的注入?

热门文章

  1. 《深入理解java虚拟机》:类的初始化
  2. RelativeLayout-代码中成员控件width height
  3. softInputMode- 软件盘监听事件
  4. worktools-mmx 添加编译模块
  5. HDU 1142 A Walk Through the Forest(最短路+dfs搜索)
  6. 【习题 7-3 UVA - 211】The Domino Effect
  7. MYSQLMANAGER实例管理器总结
  8. php线性表数组实现的删除操作
  9. 【ASP.NET开发】.NET三层架构简单解析
  10. js日期常用方法