说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

iOS UIView动画实践(一):揭开Animation的神秘面纱

HTML文档下载 WORD文档下载 PDF文档下载
无论什么事物,长得好看总会更吸引目光,App同样也不例外,一款面相不错的App就算功能已经被轮子千百遍,依然会有人买账。本文是UIView Animation的第一篇,从极简的概念开始,为大家揭开Animation的神秘面纱。
2015-06-28-uiview-first-animation

前言

在一个看脸的社会中,不论什么事物,长得好看总是能多吸引一些目光。App同样不例外,一款面相不错的App就算功能已经被轮子千百遍,依然会有人买账,理由就是看得顺眼,于是平面设计人员越来越被重视。白驹过隙,斗转星移,人们已然不满足于静态的美感,于是动态的用户体验应运而生,平面设计人员捉襟见肘,是我们程序员出马的时候了。

这篇文章是UIView Animation的第一篇,从极简的概念开始,为大家揭开Animation的神秘面纱。我们以一个登录界面为例。美丽的太阳,婀娜的云,还有几个小山包,中间静躺着用户名、密码输入框和登录按钮。搁以前,这个界面许是会亮瞎眼现如今尼玛狗都嫌。所以我们的目标是赋予这个界面生命力。


注意:本文章基于Swift 2.0和Xcode 7 Beta 2编写。登录界面中的所有元素都已经连接到了代码中(outlet),在这个示例中我们先不使用Auto Layout和SizeClasses。

会动的输入框

我们的第一个场景应该是这样。用户打开App,启动画面过后显示登录界面,此时屏幕上还没有用户名和密码的输入框,下一秒他们从屏幕左侧飘然而至。

首先

我们需要在登录界面还没有展现给用户的时候把用户名和密码的输入框移至屏幕外面。打开ViewController.swift,在viewWillAppear()方法中添加以下代码:

self.username.center.x -= self.view.bounds.widthself.password.center.x -= self.view.bounds.width

这两行代码使用户名、密码输入框移出屏幕外,这里可以使用简单暴力的方式,直接让centerx减去屏幕宽度。

输入框移出屏幕

然后

我们在viewDidAppear()方法中添加以下代码:

UIView.animateWithDuration(0.5, animations: {    self.username.center.x += self.view.bounds.width    self.password.center.x += self.view.bounds.width})

animationWithDuration(_:animations:)UIView的类方法,从方法名就可以看出,该方法可使UIView动起来。它有两个参数:

  • duration:动画的持续时间。
  • animation:动画闭包,在这个闭包中你可以改变UIView的各种动画属性。

因为该方法是一个类方法,所以在闭包中你可以同时改变多个views的动画属性。所以在上述代码中,同时改变了用户名和密码输入框的位置。编译运行,我们可以看到如下效果:

                                       

但是由于两个输入框是同时从屏幕外滑入,略显呆板,所以我们用另一个方法再来润色一下。

早Google一步,eBay数据中心率先搭载了火星上使用的技术 目标专利2000,技术研发人员占55%,斐讯的厚积薄发 SwiftStack CEO:分布式存储的未来 触控陈昊芝:“好声音”标王对移动游戏未来的预测 Office将更强大:微软正开发Office Reader和Office Lens 百度技术专家详解Clouda 并称计划推出相应UI解决方案 少年才俊:看IT界8个不到20岁的科技公司创始人 Oracle与Freescale展开深度合作,Java或将一统物联网? 探秘Google新搜索引擎算法Hummingbird的16个疑惑 如何在开发项目里进行自我激励! 或许很受用:苹果、谷歌和亚马逊等公司的14个怪异面试题 12款不容错过的新款jQuery插件 技术开发者如何看实时Web App开发框架? 高薪技术排行:大数据居首,苹果相关次之,Java、C等相去甚远 谷歌开发网络跟踪新技术:AdID将取代第三方Cookie 穿在脚上的苹果?苹果聘用Nike设计主管Ben Shaffer 七款Debug工具推荐:iOS开发必备的调试利器 六年亲历,见证中国大数据技术与应用时代的到来 Mailbox:日支撑过亿信息数据库的性能调优及集群迁移 PayPal前CTO 在美国改变世界的乌克兰犹太人 放弃Bootstrap&amp;Foundation,迎接Semantic UI? 一键分享:iOS版Google+发布SDK InMobi杨娟:中国移动游戏如何挑战全球? Adobe再遭APT攻击:数十G源代码及290万用户信息失窃 程序员,如何在工作中崭露头角? 国内外三个不同领域巨头分享的Redis实战经验及使用场景 这是一场潜在的战争:谷歌与Facebook、苹果在搜索上的博弈 设计新闻类网站需要注意的关键点:移动友好、宽带…… 直接开始用:5个免费的在线思维组织工具 招聘开发者常见的九大误区 开源影响销售,维护赞助商? edit怎么用啊? JB6盘中不含 Borland Enterprise Server AppServer5.0,各位快载一个上去吧! 如何改变显示的分辨率? 那里有c#编译器免费下载?谢谢 如何在vc中播放rm格式的文件??? 那位大侠知道怎么创建并使用一个变量,每次只让一个进程访问???给个例子吧,大大大 大 delphi中怎么编写中断,获取外部设备传来的信息?急救!! 数值模拟与计算仿真,高手请帮忙! 请问:dos下图形放大算法或思路?还有.........(高手请进) 求教!!!!SOS!! --请问如何将一个BMP图形文件转成JPG图形文件,高分请教师--- 高分给出,win98的怪问题! 打印统计问题 请教 : html的javascript 中报错:document.Form1.client_name.value不是对象 VC++里面如何从文本文件中一行一行读取文件? 请问,如何用mail函数批量发送邮件.多谢. 各位请教一下,Jsp 的服务resin在win2000下是怎样配置的 各位兄弟: 有谁知道 侯杰 的 <多线程程序设计> 什么时候才能买到??? 哪里有VFP3.0下载? system.ini和win.ini的作用 怎样生成安装包,多谢! 如何在两个不同的应用程序之间拖动文本字符 请问,PTSTR 和 PSTR 有什么不同? 反对上海电信变相涨价的行为。我能不能告中国电信“违约”和“欺诈”呢。 求救!误删Office2000注册表! 生成.exe出错 在Excel中,如何让某些行不能滚动? 在--成都--程序员能拿多少--¥--???? 换了17寸纯平显示器,开心,放分. 错装PB7,不能无create datawindows的图标,全是XX,为什么? 请问怎样遍历一个页面中服务器端的所有对象? 能否跟我说说——自动控制方面——与delphi编程的基本常识?我一直想了解,但不知道我们编的程序如何去跟那些硬件搞在一起而且控制硬件呢? 程序出错 发现一个不错的网站!www.ffboy.com 兩個Recordset之間數据轉入和轉出問題???. 高手請進......(一定給分) 大家推荐一下 ,win2k 下的 XML 编辑器。 请问男女之间存不存在真正的友情? 请教一下,怎样打印 java applet绘出的图形?,要用java 编写 高手请进!!!关于数据库 很菜的问题!字符串转化的问题? 最近运行D盘时,出来"找不到该路径..."的对话框,是什么原因? 指针数组定义的问题 我想截获tcp包,问从何下手,大鸟们 快来帮忙 远程数据传输问题:不同地域,不同系统间的数据传送有什么好方法? 急!!!(原谅我的无知) DELPHI怎么联接Access数据库!!!BDE ADO都可以!!!! 求安装制作软件 请问进行OpenGL编程除了VC和C++BUILDER外,还有什么工具可用?????? 请教一下,怎样在jsp中捕获 java applet 的按钮事件 一道填空题,大家看一看呀 小弟对现公司特别反感,很想换个学习环境比较好一点的,但是公司又要叫我签下一年的合同,我真是难办。 高等数学求导应用 怎样理解法则 科学家把环形山分为几类四类还是五类 中国一些节日的英文说法 形容8月的词语比如火红的七月,金秋十月这些,那么8月份该怎么讲呢?除了八月桂花香,还有别的吗? 高数,复合函数求导, 谁知道各类节日的英文说法全一点 请问8月最好用什么词来形容 月球上最大的环形山是( )A.贝利环形山 B.哥白尼型环形山 C.克拉维型环形山 各个节日的英语说法每个节日 形容月光或者月光照在地上的词只限两字 最多不超出3个字 八月季节怎么形容 月球上最大的环形山?最深的环形山?有辐射纹的环形山?最早登上月球的载人航天飞船与宇航员? 关于月亮的修饰词今日遇到一个语文问题,就是按照例子填空,如直勾勾的盯着,来填写***的月亮, 八月用什么词来形容 月球上环形山的特点 电荷的单位是库仑,1库仑相当于6.25乘于10的18次方个电子的电荷量,那么,一个电子所带的电量是多少? 怎样形容 八月尾九月初 问一个高数中复合函数求导的问题划红线部分干嘛不用说明是对y还是x求导的呢,别人怎么知道啊? 一库仑的电荷量是多少电子的所带的电量 高等数学求导公式2n--------(n)^2+9n+20 库仑等于多少焦耳? 一库仑为什么等于6.25×10 ^18=6250000000000000000个电子所带的电量? 1摩尔电子等于多少库仑 月球上的环形山有什么特点?你认为是怎样形成的?请设计一个实验对环形山及其特点的 两个可导函数之商的求导公式是什么? 高数 导数的求导法则 月球上的环形山有什么特点 数学函数求导基本公式 一库仑等于多少电子?100个电子等于多少库仑的电荷?明天要交作业,哥哥姐姐们麻烦快点回答,感激不尽. 在50秒内,通过某导体的电荷量是10库仑,电流做工60焦耳,则通过该导体的电流是多少安培?导体两...在50秒内,通过某导体的电荷量是10库仑,电流做工60焦耳,则通过该导体的电流是多少安培?导体 怎么形容九月 一库仑相当于多少个电子数?为什么是6.24146×1018个电子而不是1.6021892x1019个呢 月球上的环形山是怎样形成的? 求函数求导公式 "月"所表达的思想感情,以及相关诗句四种 月球为什么有环形山? 函数 求导法则函数商的求导法则 带月的诗句加上思想感情 月球上的环形山是怎么形成的? 九月怎么形容 高数下册 隐函数求导法的一个问题第一条划线的部分是根据求导法则来做我理解.我疑问的是,第一步求偏导Z和X是看做不相干的的变量可是为什么第二次求偏导的时候,又要把Z看成是X的函数 电量的单位是库仑,为什么在电池上标的都是毫安? 形容九月的词汇 高数隐函数对数法求导问题.y=x^sinx为什么用对数求导法呢,若直接求导y'=sinx*x^(sinx-1)*cosx这样不对么?错在哪里?哪些情况下用对数求导更方便呢?附:用对数求导法 lny=sinx*lnx; 1/y*y'=cosx*lnx+sinx*1/x 库仑是什么单位 形容九月的名词金秋十月,那么九月怎么形容? 高等数学中的隐函数求导公式那个叫雅克比公式的一大串怎么记啊? 高数函数求导问题现有一函数f(x),当x=0时其值为0,当x不为0时其值为为e^1/(-x*x),求f(x)在x=0处的导数.怎么求的? 形容9月的句子有哪些啊 高数问题(隐函数求导)高数书上有个例题求e^y + xy -e = 0d(e^y + xy -e)/dx = e^x·dy/dx +y +x·dy/dx --(1)(1)式是怎么得来的,谁能具体讲解下,其中:e^y + xy -e = 0为e的y次方加x乘以y减e等于0我想问e^y + xy - 为什么月亮上有许多环形山? 一个电子的电量是1.6×10-9 C,那多少个电子的电量为1库仑呢? 高等数学隐函数求导问题如图所示,有所疑惑, 月球环形山形成的原因是什么? 高数积分求导公式在哪章有 以中国科学家名字命名的月球环形山的科学家是谁? 一辆汽车正以36km/h的速度做匀速直线运动,已知发动机的功率是60kw,求这辆汽车所受的阻力是多少? 高数 关于求导法则 月亮上有许多大大小小的环形山,多数科学家认为环形山的成因是:A、地震B、火山爆发C、陨星撞击D、板块运动 高数多元函数求导其实是一个有点白的问题就是,什么时候用dy/dx,什么的时候用ay/ax?我觉得没什么差别啊,为什么书上一会用这个一会用那个~~
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn