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 ...
随机推荐
- curl 报错记录,mark
今天在做接口开发的时候,使用curl post ,请求返回数据为 null ,很纳闷,然后使用 curl_errno 打印出来的错误代码为 28 ,curl_error($ch) 打印出来的是Oper ...
- python学习第二天第二部分
一.变量:用来记录状态 变量值得变化即状态的变化,程序运行的本质就是来处理一系列状态的变化 python中所有数据都是对象 对象的三个特性: 身份(内存地址):用id()获取 类型:决定了该对象可以保 ...
- How to begin Python learning?
如何开始Python语言学习? 1. 先了解它,Wiki百科:http://zh.wikipedia.org/zh-cn/Python 2. Python, Ruby等语言来自开源社区,社区的学法是V ...
- MVC中System.InvalidOperationException: 传入字典的模型项的类型为“XXX”,但此字典需要类型“XXA”的模型项
出现此类错误的一个原因是Controller传过去的Model和View中的Model不是同一个Model
- composer的安装
HomeGetting StartedDownloadDocumentationBrowse Packages Dependency management Declaring dependencies ...
- 内存管理、ARC
内存管理 一.基本原理 1.什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收一 ...
- NodeJS - Express 4.0下使用app.dynamicHelpers错误
在NodeJS - Express 4.0下使用app.dynamicHelpers发生错误: app.dynamicHelpers({ ^ TypeError: Object function (r ...
- 自选项目--手机锁屏软件--NABC分析
N(Need 需求) 关键字:利用碎片时间加强对想记的事物的记忆.备忘.一般来说,锁屏目的大致有三点: 1.保护手机隐私 2.防止误操作手机 3.在不关闭系统软件的情况下节省电量 对于市面上已有的锁屏 ...
- iOS关于CGContextSetBlendMode: invalid context 0x0的错误
在ios 7的模拟器中,选择一个输入框准备输入时,会触发这个错误,以下是出错详细日志: <Error>: CGContextSetBlendMode: invalid context 0x ...
- linux下php多版本的并存实现
其实最简单的方法,就是通过nginx,生成多个php使用不同的端口,这实在简单,我写了两个版本,一个是apche服务,一个是nginx服务,使用一两个不同的版本,爽!