UIView动画
淡化、推挤、揭开、覆盖
NSString * const kCATransitionFade;
NSString * const kCATransitionMoveIn;
NSString * const kCATransitionPush;
也有四种
NSString * const kCATransitionFromRight;
NSString * const kCATransitionFromLeft;
NSString * const kCATransitionFromTop;
[super viewDidLoad];
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
btn1.frame = CGRectMake(50, 50, 100, 30);
//btn1.backgroundColor = [UIColor blackColor];
[btn1 setTitle:@"动画一" forState:UIControlStateNormal];
[btn1 setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(btn1) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn1];
UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
btn2.frame = CGRectMake(120, 50, 100, 30);
[btn2 setTitle:@"动画二" forState:UIControlStateNormal];
[btn2 setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
[btn2 addTarget:self action:@selector(btn2) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn2];
UIButton *btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
btn3.frame = CGRectMake(190, 50, 100, 30);
[btn3 setTitle:@"动画三" forState:UIControlStateNormal];
[btn3 setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
[btn3 addTarget:self action:@selector(btn3) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn3];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(375/2.0-50, 300, 100, 100)];
view.tag = 1;
view.backgroundColor = [UIColor greenColor];
[self.view addSubview:view];
}
-(void)btn1{
UIView *view = [self.view viewWithTag:1];
[UIView beginAnimations:@"1" context:nil];//创建动画
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];//动画曲线
[UIView setAnimationDelay:0];//延时动画
[UIView setAnimationDuration:2];//动画持续时间
[UIView setAnimationRepeatCount:2];//动画循环次数
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:view cache:YES];//设置动画效果,以及要执行的view(动画发生位置,此处是view)
[UIView setAnimationDelegate:self];//设置动画代理
[UIView setAnimationDidStopSelector:@selector(stop)];//动画结束后调用的方法,注意设置次方法之前要先设置代理
[UIView commitAnimations];//提交动画
}
-(void)btn2{
UIView *view = [self.view viewWithTag:1];
CATransition *ansition = [CATransition animation];//创建动画
ansition.duration = 2;//动画持续时间
//ansition.repeatCount = 2;//动画循环次数
ansition.type = @"cameraIrisHollowOpen";//设置动画类型
ansition.subtype = kCATransitionFromLeft;//设置动画方向
ansition.delegate = self;//设置动画代理
[view.layer addAnimation:ansition forKey:@"12"];//添加动画
}
-(void)btn3{
UIView *view = [self.view viewWithTag:1];
CGPoint center = view.center;
//放大效果
// [UIView animateWithDuration:1 animations:^{
// view.frame = CGRectMake(10, 10, 300, 300);
// view.center = center;
//
// }];
//放大缩小连续
[UIView animateWithDuration:1 animations:^{
view.frame = CGRectMake(10, 10, 300, 300);
view.center = center;
} completion:^(BOOL finished) {
[UIView animateWithDuration:1 animations:^{
view.frame = CGRectMake(375/2.0, 300, 100, 100);
view.center = center;
} completion:^(BOOL finished) {
[self btn3];//添加动画
}];
}];
//实现缩小和放大
view.frame = CGRectMake(10, 10, 300, 300);
view.center = center;
} completion:^(BOOL finished) {
[UIView animateWithDuration:1 animations:^{
view.frame = CGRectMake(375/2.0, 300, 100, 100);
view.center = center;
}completion:^(BOOL finished) {
[self btn3];
}];
}
-(void)stop1{
NSLog(@"动画停止");
}
-(void)animationDidStart:(CAAnimation *)anim{
NSLog(@"动画开始");
UIView动画的更多相关文章
- 转一篇简洁的UIView动画编程方法
iOS 中的 UIView 动画编程其实还是很简单的,像 CSS3 一样,在给定的时间内完成状态连续性的变化呈现.比如背景色,Frame 大小,位移.翻转,特明度等. 以前我使用的编程方式都是用下面 ...
- UIView动画效果
做出UI界面,实现程序功能,是重中之重,但是通过动画提升使用体验,一般人应该不会拒绝吧. 那么问题又来了,怎么做? 一: 稳扎稳打: 一步一步来吧,毕竟,心急吃不了热豆腐. 1.开启一个动画 2,设置 ...
- 核心动画和UIView动画的区别
核心动画和UIView动画的区别 1.核心动画制作用在Layer 2.核心动画的修改的属性都是假象,他的真实位置没有发生变化()
- 个人学习对UIView动画的总结
我的博客之前已经开通五个月了,但是一直没有写东西.一是不敢写,二是也不知道写啥.毕竟是一个刚刚入行大半年的菜鸟,现在总想通过各种办法提高自己.之前总感觉用到一些东西,只是当时搞懂了一点,加上并没有总结 ...
- UIView动画学习笔记
UIView的动画是通过修改控件的属性来达到动画的效果,如:渐变, 移动. 废话不多说,直接上代码: - (void)loadView{ [super loadView]; _leftView = [ ...
- iOS动画篇:UIView动画
iOS的动画效果一直都很棒很,给人的感觉就是很炫酷很流畅,起到增强用户体验的作用.在APP开发中实现动画效果有很多种方式,对于简单的应用场景,我们可以使用UIKit提供的动画来实现. UIView动画 ...
- iOS之UIview动画
一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...
- iOS - UIView 动画
1.UIView 动画 核心动画 和 UIView 动画 的区别: 核心动画一切都是假象,并不会真实的改变图层的属性值,如果以后做动画的时候,不需要与用户交互,通常用核心动画(转场). UIView ...
- iOS 动画总结—UIView动画
1.概述 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持. 执行动画所需要 ...
随机推荐
- DOCTYPE的重要性
<!DOCTYPE>是文档类型声明: 声明必须是 HTML 文档的第一行,位于 <html> 标签之前.明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTM ...
- package、import和import static
package 语句: 该语句必须作为源文件的第一条非注释性语句,一个源文件只能指定一个包,即只能包含一条package语句. import 和import static 关键字: 引入import关 ...
- css3新特性@rgba
1.rgba也经常在实际应用中使用,它主要是在原来rgb的基础上添加了一透明度.但是他又和opacity又有一些差别,主要体现在对子元素的透明度的影响上. 例如:使用opacity和backgroun ...
- (转)Android消息处理机制(Handler、Looper、MessageQueue与Message)
转自 http://www.cnblogs.com/angeldevil/p/3340644.html Android消息处理机制(Handler.Looper.MessageQueue与Messag ...
- Keepalived 配置实例
Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则 ...
- 线段树初步&&lazy标记
线段树 一.概述: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点. 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a, ...
- Daily Scrum 12.13
今日完成任务: 已经解决用户管理异常:解决主页TAG显示不正确;解决下载量不正确,完成下载量的计数. 明日任务: 黎柱金 解决文档打开时全部是同一个PDF的BUG 冯飘飘 优化右侧显示最佳资源的算法 ...
- iOS通过手势拿到当前的View
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(t ...
- 《笨办法学C》笔记之基础语法
这篇笔记不怎么系统,只记录自己比较生疏的知识 变量定义 类型 定义 格式化符号 备注 整数 int %d 长整型 long %ld 单精度浮点 float %f 双精度浮点 double %f 字符 ...
- spring mvc 工作流程
Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发.DispatcherServlet可以认为是Spring提供的前端控制 ...