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 ...
随机推荐
- .NET SDK和下载
http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx .NET SDK和下载 您可以通过下载.NET框架针对包和软件开发工具包,并使用它们与Visual ...
- c#中的类型转换
Parse类型转换 Parse()函数 int.double都能调用Parse()函数,Parse(string str);如果转换成功就成功,失败就会抛出一个异常; TryParse()函数 相应地 ...
- cadence 机械孔的制作
在平时画PCB的时候,会用到安装孔,好多人就是找个过孔,在原理图中连接GND,这样使用也可以,下面介绍一种正经机械孔的制作方法(自己摸索的),制作一个孔径为3mm的安装孔. 1 打开pad desig ...
- vs2010的11个调试技巧和方法
调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可 ...
- 登录超时自动退出,计算时间差-b
// 此方法适用于所有被创建过的controller,且当前controller生命周期存在,如有错误的地方望大神斧正 // 说一下我们的需求和实现原理,需求:在点击home键退出但没有滑飞它,5分 ...
- Connectify是一款很实用的免费软件。能把计算机变成一个无线路由器
Connectify是一款很实用的免费软件.能把计算机变成一个无线路由器.它能通过您计算机上的无线网卡发射一个无线AP,让有WiFi功能的设备(手机.笔记本)上网.3.0版以前仅支持32位Window ...
- html+css学习笔记 3[浮动]
inline-block/float(浮动) 回顾:inline-block 特性: 1.块在一排显示 2.内联支持宽高 3.默认内容撑开宽度 4.标签之间的换行间隙被解析(问题) 5.ie ...
- POJ 3164 Command Network 最小树形图
题目链接: 题目 Command Network Time Limit: 1000MS Memory Limit: 131072K 问题描述 After a long lasting war on w ...
- Jquery.linq 使用示例
http://linqjs.codeplex.com/ /*Linq JS*/ //range var aa = Enumerable.range(1, 10).toArray(); var kk = ...
- js异步加载 defer和async 比较
网上说法很多,很少一句话能总结清楚的,终于找到两句一针见血的描述,很到位: 相同点:都不阻塞DOM解析 defer :顺序:保证先后顺序.解析:HTML 解析器遇到它们时,不阻塞(脚本将被异步下载) ...