ios UIView常用动画效果
一
//调用
1
2
3
4
5
6
|
if (m_viewScenario.superview == nil )<br>{ m_viewScenario.alpha = 1.0; m_viewScenario.transform = CGAffineTransformIdentity; [ self zoomIn:m_viewScenario andAnimationDuration:1.0 andWait: YES ]; [ self .view addSubview:m_viewScenario]; } |
//展示,由小变大
1
2
3
4
5
6
7
8
9
10
11
12
13
|
- ( void )zoomIn: (UIView *)view andAnimationDuration: ( float ) duration andWait:( BOOL ) wait { __block BOOL done = wait; view.transform = CGAffineTransformMakeScale(0, 0); [UIView animateWithDuration:duration animations:^{ view.transform = CGAffineTransformIdentity; } completion:^( BOOL finished) { done = NO ; }]; while (done == YES ) [[ NSRunLoop currentRunLoop] runUntilDate:[ NSDate dateWithTimeIntervalSinceNow:0.01]]; } |
//有大变小调用
1
2
|
[ self zoomOut:m_viewScenario andAnimationDuration:1.0 andWait: NO ]; [ self removeScenarioView]; |
//大变小 函数
1
2
3
4
5
6
7
8
9
10
11
|
- ( void )zoomOut: (UIView *)view andAnimationDuration: ( float ) duration andWait:( BOOL ) wait{ __block BOOL done = wait; view.transform = CGAffineTransformIdentity; [UIView animateWithDuration:duration animations:^{ view.transform = CGAffineTransformMakeScale(0, 0); } completion:^( BOOL finished) { done = YES ; }]; while (done == NO ) [[ NSRunLoop currentRunLoop] runUntilDate:[ NSDate dateWithTimeIntervalSinceNow:0.01]]; } |
二,如果需要类似UIAlertView那种动画
显示调用
1
2
3
4
5
6
7
8
|
if (m_viewScenario.superview == nil ) { m_viewScenario.alpha = 1.0; m_viewScenario.transform = CGAffineTransformIdentity; [ self .view addSubview:m_viewScenario]; [ self zoomIn:m_viewScenario andAnimationDuration:1.0]; } |
小变大动画
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
- ( void )zoomIn: (UIView *)view andAnimationDuration: ( float ) duration { CAKeyframeAnimation * animation; animation = [CAKeyframeAnimation animationWithKeyPath:@ "transform" ]; animation.duration = duration; //animation.delegate = self; animation.removedOnCompletion = NO ; animation.fillMode = kCAFillModeForwards; NSMutableArray *values = [ NSMutableArray array]; [values addObject:[ NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]]; [values addObject:[ NSValue valueWithCATransform3D:CATransform3DMakeScale(1.2, 1.2, 1.0)]]; [values addObject:[ NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9, 0.9, 0.9)]]; [values addObject:[ NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]]; animation.values = values; animation.timingFunction = [CAMediaTimingFunction functionWithName: @ "easeInEaseOut" ]; [view.layer addAnimation:animation forKey: nil ]; } |
大变小,调用同上,函数稍有变化
1
2
3
4
5
6
7
8
9
10
11
12
|
- ( void )zoomOut: (UIView *)view andAnimationDuration: ( float ) duration andWait:( BOOL ) wait{ __block BOOL done = wait; view.transform = CGAffineTransformIdentity; [UIView animateWithDuration:duration animations:^{ view.transform = CGAffineTransformMakeScale(0, 0); view.alpha = 0.0; } completion:^( BOOL finished) { done = YES ; }]; while (done == NO ) [[ NSRunLoop currentRunLoop] runUntilDate:[ NSDate dateWithTimeIntervalSinceNow:0.01]]; |
ios UIView常用动画效果的更多相关文章
- IOS UIVIEW layer动画 总结(转)
转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html IOS UIVIEW layer动画 总结, ...
- iOS酷炫动画效果合集
iOS酷炫动画效果合集 源码地址 https://github.com/YouXianMing/Animations 效果绝对酷炫,包含了多种多样的动画类型,如POP.Easing.粒子效果等等,虽然 ...
- jquery-12 jquery常用动画效果有哪些
jquery-12 jquery常用动画效果有哪些 一.总结 一句话总结:jquery可以用户animate()自定义动画,也可以slide和fade系列方法来设置动画. 1.动画效果如何设置执行时间 ...
- IOS开发-UIView之动画效果的实现方法(合集)
http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果.使用动画可以让我们的APP更酷更炫,最重要的是优化 ...
- ios uiview封装动画(摘录)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- iOS的GIF动画效果实现
引言:GIF图像格式是常见的一种动态图片格式,无论是在Web端还是在移动端都经常遇到,但是考虑目前iOS还无法原生展现GIF图片,而对于GIF的原生支持暂时也没有像JPG.PNG等图像格式支持得这么全 ...
- iOS 一个小动画效果-b
近期工作不忙,来一个需求感觉棒棒的,是一个比较简单的页面,如下图(图1) 图1 应该很简单吧,没什么大的功能,就是一个展示,一个拨打电话,拨打电话不需要说,几行代码搞定,基本UI也不用说了,刚培训完的 ...
- iOS UIView常用的一些方法setNeedsDisplay和setNeedsLayout 区别
1.UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- iOS学习之动画效果的实现
// // ViewController.m // UI-动画练习 // // Created by jzq_mac on 15/7/22. // Copyright (c) 2015年 jz ...
随机推荐
- Memcached 配置 和项目应用
Memcached 配置 http://blog.csdn.net/sup_heaven/article/details/32337711 memcached真实项目中的应用 http://blog. ...
- localStorage变更事件当前页响应新解
html5的localStorage相信大家都是很熟悉了,但是在chrome等支持该对象的浏览器中(ie10除外),如果你监听 storage变更事件你就会发现,当数据发生变化时本页是监听不到stor ...
- TextView文字排版问题:
本文转载自:http://blog.sina.com.cn/s/blog_821e2bb101011803.html textview自动换行导致混乱的原因----半角字符与全角字符混乱所致!一般情况 ...
- line-height属性使文字垂直居中原理
原理:line-height与font-size的计算之差(在CSS中成为“行间距”)分为两半,分别加到一个文本内容的顶部和底部,这样就使得文字垂直居中了.
- 每日一“酷”之pprint
pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅 ...
- C# this指针用法
this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Class)的概念和对象(Object)的概念类是对事物概括,也是C#编码时所有代码归属的基本单位:而对象是对类的实例化,也就是C#里n ...
- 【Web学习日记】——C#引用WebService,从配置文件改变引用地址
开发环境:Win7 32位,开发工具:VS2013,.Net:4.0 初用WebService,很多地方都搞不清楚怎么回事,但稍作研究之后,也就用上了,根本就没有考虑后续事情. 但是,随着项目的进行, ...
- Log Parser 2.2
Log Parser 2.2 是一个功能强大的通用工具,它可对基于文本的数据(如日志文件.XML 文件和 CSV 文件)以及 Windows 操作系统上的重要数据源(如事件日志.注册表.文件系统和 A ...
- 【转】char*,const char*和string的相互转换
1. string转const char* string s = "abc"; const char* c_s = s.c_str(); 2. const char*转string ...
- gif修改背景透明
1.用ImageReady打开,将选中所有帧,右键选择“恢复为背景”. 2.打开“颜色板”,点击左下角的惊叹号,用吸色器点击背景,颜色板自动选中了背景色,将其映射为透明. 3.文件->将优化结果 ...