iOS的view翻转动画实现--代码老,供参考
新建一个view-based模板工程,在ViewController文件中添加下面的代码,即可实现翻转效果;
- (void)viewDidLoad {
[super viewDidLoad];
//需要翻转的视图
UIView *parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 150, 320, 200)];
parentView.backgroundColor = [UIColor yellowColor];
parentView.tag = 1000;
[self.view addSubview:parentView];
}
//需要在h头文件声明下面的动作响应函数
//在xib文件中添加一个button,其响应函数为下面的函数
//运行程序后,点击button就看到翻转效果
-(IBAction)ActionFanzhuan{
//获取当前画图的设备上下文
CGContextRef context = UIGraphicsGetCurrentContext();
//开始准备动画
[UIView beginAnimations:nil context:context];
//设置动画曲线,翻译不准,见苹果官方文档
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//设置动画持续时间
[UIView setAnimationDuration:1.0];
//因为没给viewController类添加成员变量,所以用下面方法得到viewDidLoad添加的子视图
UIView *parentView = [self.view viewWithTag:1000];
//设置动画效果
[UIView setAnimationTransition: UIViewAnimationTransitionCurlDown forView:parentView cache:YES]; //从上向下
// [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp forView:parentView cache:YES]; //从下向上
// [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:parentView cache:YES]; //从左向右
// [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:parentView cache:YES];//从右向左
//设置动画委托
[UIView setAnimationDelegate:self];
//当动画执行结束,执行animationFinished方法
[UIView setAnimationDidStopSelector:@selector(animationFinished:)];
//提交动画
[UIView commitAnimations];
}
//动画效果执行完毕
- (void) animationFinished: (id) sender{
NSLog(@"animationFinished !");
}
运行程序,点击按钮,就能看到动画效果了
下面我自己在parentView上添加了两个子视图实现动画
- (void)viewDidLoad {
[super viewDidLoad];
UIView *parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 150, 320, 200)];
parentView.backgroundColor = [UIColor yellowColor];
parentView.tag = 1000;
UIImageView *image1 = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
image1.backgroundColor = [UIColor redColor];
image1.tag = 1001;
UIImageView *image2 = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
image2.backgroundColor = [UIColor blueColor];
image2.tag = 1002;
[parentView addSubview:image1];
[parentView addSubview:image2];
[self.view addSubview:parentView];
}
-(IBAction)ActionFanzhuan{
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
UIView *parentView = [self.view viewWithTag:1000];
[UIView setAnimationTransition: UIViewAnimationTransitionCurlDown forView:parentView cache:YES];
// [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp forView:parentView cache:YES];
// [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:parentView cache:YES];
// [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:parentView cache:YES];
NSInteger purple = [[parentView subviews] indexOfObject:[parentView viewWithTag:1002]];
NSInteger maroon = [[parentView subviews] indexOfObject:[parentView viewWithTag:1001]];
[parentView exchangeSubviewAtIndex:purple withSubviewAtIndex:maroon];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationFinished:)];
[UIView commitAnimations];
}
- (void) animationFinished: (id) sender{
NSLog(@"animationFinished !");
}
另外:之前在viewDidLoad里面写实现动画的代码,但一致未实现动画效果,原来在viewDidLoad里面执行
CGContextRef context = UIGraphicsGetCurrentContext();
后context的指针为0
iOS的view翻转动画实现--代码老,供参考相关推荐
- 计时器效果 代码仅供参考
效果图: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8 ...
- autojs免root脚本引擎开发的发送通知和去除通知代码,值得参考学习
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- Android 点击View实现前后翻转动画
一个不留神又好久没写博客了,有点儿惭愧.一方面最近实验室的项目巨多-手上同时两三个新的app一起做,关键就我一个人做-(说多了都是泪)-再加上还有学车的费劲事儿,就忘了博客这个事儿了,算了,废话少说, ...
- iOS - Core Animation 核心动画
1.UIView 动画 具体讲解见 iOS - UIView 动画 2.UIImageView 动画 具体讲解见 iOS - UIImageView 动画 3.CADisplayLink 定时器 具体 ...
- iOS开发之各种动画各种页面切面效果
转发:http://www.cocoachina.com/ios/20141226/10775.html 今天所介绍的主题是关于动画的,在之前的博客中也有用到动画的地方,今天就好好的总结一下iOS开发 ...
- 拐道交叉的css3动画,CSS3图片翻转动画技术详解
CSS动画非常的有趣:这种技术的美就在于,通过使用很多简单的属性,你能创建出漂亮的消隐效果.其中代表性的一种就是CSS图片翻转效果,能让你看到一张卡片的正反两面上的内容.本文就是要用最简单的方法向大家 ...
- Android 卡片翻转动画效果
转载请标明出处:http://blog.csdn.net/android_mnbvcxz/article/details/78570594 Android 卡片翻转动画效果 前言 前端时间开发一款应用 ...
- iOS 实现启动屏动画(Swift实现,包含图片适配)
代码地址如下: http://www.demodashi.com/demo/12090.html 准备工作 首先我们需要确定作为宣传的图片的宽高比,这个一般是与 UI 确定的.一般启动屏展示会有上下两 ...
- iOS 自定义转场动画浅谈
代码地址如下: http://www.demodashi.com/demo/11612.html 路漫漫其修远兮,吾将上下而求索 前记 想研究自定义转场动画很久了,时间就像海绵,挤一挤还是有的,花了差 ...
最新文章
- Word 技术篇-段落的前后间距单位磅改为行,行改为磅
- springboot 定制个性 banner
- kettle的安装与连接mysql(包含mysql8)简单使用,
- spring mvc学习(51):jsonp
- 8.22 NOIP模拟测试29(B) 爬山+学数数+七十和十七
- mysql pdo insert_PDO数据库操作类——插入数据的实现
- jar k8s 自己的 部署_微服务架构 - 离线部署k8s平台并部署测试实例
- github 使用之--ssh配置(及解决ssh_add 报错)
- python使用软件,输出,声明和if规则
- jquery 省市区联动插件
- Java 战国大富翁,中国古代八大富翁,比皇帝还有钱!其中三位是历史上公认的商圣...
- win11系统右键菜单改回以往风格(亲测有效)
- 如何保存PPT的背景图片
- linux 改成utc时间_linux – 如何将时区设置为UTC-8
- 【Unity】超级坦克大战(九)闯关流程:游戏行为对象模板
- 台式计算机怎么开关网络,怎么用台式电脑开wifi_台式电脑如何开启wifi
- linux phpcms,PHPCMS任意文件下载之exp编写
- 服务器认证信息,认证信息管理系统、服务器、方法和程序
- 数据可视化一:Excel数据可视化
- 存储器容量的扩充以及DRAM
热门文章
- jenkins配置节点为windows代理
- 配置不成功_在windows下配置sendmail服务器
- 低代码开发平台_如何挑选最适合你的低代码开发平台
- DenseNet稠密连接层
- matlab 雷达工具箱,使用Matlab的工具箱,学习“相控阵雷达技术”
- 在linux环境获取pcie卡信息,如何Linux下得到CPU、内存及PCI信息
- java 原子long_java中long和double类型操作的非原子性探究
- 删除重复行 oracle,Oracle删除重复行传智播客
- 新手福音,机器学习工具Sklearn 中文文档 0.19版(最新)
- 白噪音和粉红噪音煲机_10小时煲机后,HIFIMAN TWS600给你不一样的听觉盛宴