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

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的动画属性。所以在上述代码中,同时改变了用户名和密码输入框的位置。编译运行,我们可以看到如下效果:

                                       

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

百万美元巨奖!英特尔启动感知计算挑战赛 IBM 2014技术峰会在京开幕! OpenGL 4.5规范标准发布,大大提升API性能! 更萌更贱:Flappy Bird开发者推虐心新作Swing Copters 学习的革命:AR增强现实遇到儿童应用 颠覆旧概念,IBM Bluemix开启云开发时代 专访企业QQ SaaS团队,谈企业级LNMP架构设计 《近匠》Coding:将软件开发搬到云上 小米与美视频游戏服务Ouya合作 进军国内客厅 新工具Get!轻松实现2D画面动态光影的Sprite Lamp 一周消息树:罗升阳的Android之旅 手游不易:GungHo 3.44亿美元售Supercell股权 周末去哪儿 当然是去2014微信开发者大会!(附参会提醒和名单) 开源框架Ember.js迎来1.7.0和1.8 Beta 1更新 《近匠》RealSense:几行代码,为游戏添增实感交互 MDCC游戏应用征集关键词:中小团队,3D,转型,IP 共话HealthKit:能否颠覆医疗保健生态系统? Perception Neuron系统,让动作捕捉技术不再高冷 2014年DevOps实践调查报告 .NET程序性能的基本要领 百度手机卫士宣布开放三大能力 构建互联网安全生态 火速围观,AMD APU新芯片架构A68H呼之欲出! 对于测试人员而言,TDD意味着什么? 年用电910亿度,那些庞大的数据中心该用什么支撑 走近黑客们的世界,感受网络空间的心跳 VMworld 2014 Day One:Docker、数据中心、混合云新举措 Docker和Kubernetes或将加速SDN发展 前端开发框架三剑客—AngularJS VS. Backone.js VS.Ember.js 【CTO俱乐部读书会】《流程的永恒之道》辛鹏:企业的本质就是流程运营 紧扣微信研发痛点 2014微信开发者大会吸引大量外地参会者 Mobile First!jQuery UI组件集Wijmo五年最大更新 在ASP中如何编程建立索引服务的编录及目录? 在web server application把MEMO字段中带格式(RTF)的内容转换成纯文本? 请问在身份验证中,能否有两个login.aspx??? 急~那篇给vb控件打包文件添加数字签名以便浏览器浏览的那篇文章在哪里? 用vb如何实现模拟雷达界面??欢迎赐教! 如何用CSS控制INPUT的输入外观不是立体的,而看起来是平板的样子,只有一个边线? 用户注册的问题,密码总验证不对,能不能看看错在哪里? 如何使文本框只显示下面的边框? xsl求助~~~ 怎么将int转为CString 有的论坛采用从数据库得到帖子,有的使用shtml,有的使用xml,孰优???还有其他吗? 100分==在JSP中打开word文件的实例 紧急在线等一个很简单的问题 DTPicker 怎样和数据库绑定? 如何动态改变VB报表中Section中的一个与数据环境绑定的rptTextBox的颜色!(100分求教) datediff()这个函数怎么用哪位高手可否给小弟讲解一下急用在线等 和女友分手了,痛苦! 谁有支持中文的带身份验证和邮件群发的ASP.NET邮件组件? 关于多个表通过相同的字段级联的问题,进来看看,一定给分! windowd server 2003许可证问题 谁有支持中文的带身份验证和邮件群发的ASP.NET邮件组件? 求合作伙伴——推广抗非典病毒的消毒剂!!! 在表分区中,按某个varchar2的字段的值和范围如何分呢 我又來了,不僅你們煩,我更煩. 服务器端与客户端的问题 服务器端与客户端的问题 最后的问题,谢谢帮我看看 发现MS WINDOWS版的C标准库一个在BUG!!!!! 在用VFP操作EXCEL时出现无法用字段内容填充单元格问题,请各位帮忙看看. 算法 救命! 有没有rmi的好例程,一用就灵,急 fast report 和 qreport 到底应该用哪一个???(来者有分!!) 关于“数据结构书”的回应——版主莫删 如何进入另一个对话框 在一字符串中怎样取出某一个字符出现的次数. 急! infopower 2000、 3000、4000 Password?? 自定下载的问题,请教高手 如何屏蔽播放.wav文件但找不到相应.wav文件时发出的默认声音? 如何打开另一个对话框 政治因素对我国军事专家的困扰[ZT] if ((btime==null)&&(etime==null )) 请教 一位女同事辭職,一位男同事說跟我有關,鬱悶中... 请问如何在B/S模式下,在页面上实现,如word,excel中的编辑功能? 如何画一个二元函数的图象 急!高分求教:Epson TM U300微型打印机打印作业丢失问题!(100分) word中如何做浮动窗口或按钮等? 大于255个字符的SQL语句如何来写?在线等待 請大家不要煩這種貼子,我都更煩.我是沒有辦法了 兼职Java软件工程师 这些题有那几题是错的,求正确答案, 甲、乙两数的平均数是45,已知甲、乙两数的比是2:4,甲乙两数分别是多少? 在三角形ABC中,角C=90度,D是BC中点,且角ADC=45度,AD=2,求tanB的值有图的,但还不能传,大概描述下A在C的上面,B在 C的右边,其他的没什么了吧应该听得懂吧~ 一直忧虑科学家预言的小行星撞击地球,怎么都走不出来,怎么办?我一直忧虑科学家预言的小行星撞击地球,怎么都走不出来.有七八年的了,别笑话我,我真的就是怎么都不出.05年的一天在家看电 求第10题的解答过程,有错的请求正确答案急 有一群小孩,他们中任意5个孩子的年龄之和比50少,所有孩子的年龄子和是202.这群孩子至少有多少人?要写出解题步骤!必写,不然不给分! 求问青蛙的什么地方能振动发声《物理》 日勺念什么字 求两个小孩的年龄两个小孩的年龄分别为X,Y,且X的平方加XY等于99,这两个小孩的年龄各是多少? 青蛙靠哪里振动 一辆汽车从甲地开往乙地要10小时,一辆客车从乙地开往甲地要8小时.汽车先开出2小时后,客车再开出小时后与汽车相遇? 有一群小孩,他们中任意5个孩子的年龄之和比50少,所有孩子的年龄之和是202,这群孩子至少有多少?选项里没有22!我也以为是22! 青蛙如何发声?它的叫声洪亮的原因? 甲,乙两地相距126千米,一辆汽车从甲地开往乙地,行驶了九分之七还多5干米,行驶了多少千米? 团结是胜利的根本是什么意思 青蛙是怎样发声的``青蛙``蜜蜂``蟋蟀``蝉(知了)是怎样发声的`` 已知函数f(x)=sin(2x-π/3)(x∈R),给出如下结论:1、图像关于直线x=5π/12对称;2、图像的一个对称中心是(π/6,0);3、在[0,π/2]上的最大值为(根号3)/2;4、若x1,x2是该函数的两个不同 文汇出版社的寒假生活(高一化学)哪里有卖!最好是徐汇 闵行的 或者上海书城现在是否有 观此可以知画理矣 理的意思 求角bdc=90度-1/2角a, 子曰:“人而不仁,如礼何!人而不仁,如乐何?"我要准备课前三分钟 有关于[子曰:“人而不仁,如礼何!人而不仁,如乐何!”] 的①翻译②重点词 特殊句式③感悟 或 延伸课外之类的没有重点词么重 非知之难,行之为难;非行之难,终之斯难.不要典故,只要意思! (1)角BDC>角A (2)角BDC=角B+角A+角B 子曰:“人而不仁,如礼何?人而不仁,如乐何?” 历史上最大的小行星撞击地球事件是在什么时候?直径有多大?威力有多大?是在寒武纪还是奥陶纪还是其他时候?注意是最大的小行星 如图,△ABC中,角B和角C的外角平分线交于点B,求证角BDC=90度-2分之1角A 丁博士,文汇出版社(封面是紫色无图的) 你怎么看待小行星撞击地球事件? 求帮我写马克思主义的作业最好提前完成. :如图,AD是圆O的直径,过D的切线交BC于点P,连接PO并延长分别交Ac,AB于N,M.求证ON=OM 怎么倒的(X1-X2)+3/X1-3/X2=(X1-x2)[1+3/X1X2] 马克思主义主要写什么? AD是△ABC的外接圆O的直径,过D作圆O的切线交BC于P,连接并延长PO分别交AB、AC于M、N,求证:OM=ON. 若一元二次方程x^2+3x-1=0的两根分别为x1,x2,则x1+x2=-3,x1x2=-1,x1^2+x2^2=? 在△ABC中,CD⊥AB于D,BE⊥AC于E,CD与BE相交于H,且CH=AB,则AE=CE-BH,请说明理由 已知pa,pb是圆o的切线若po=26,ab=24,om<pm,求ap及圆o的半径长 如某方程的两根都在区间(1,4)内那两根有什么限制条件?还有某方程一个根在(-2,0)内,另一个根在(1,3)内...什么叫内?两根又有什么限制条件? 秦始皇陵墓什么时候发掘?期待! 已知集合A=(x^2-ax>=x-a),集合B=(2log2(x-3) 青蛙呱呱叫是由于它的鸣囊在 秦始皇的墓什么时候能挖掘? 求证:如专图——五角星 ∠A+∠B+∠C+∠D+∠E=180° 一辆快客上午8:00从甲地开往乙地,到下午2:00正好走了全程的40%,这时汽车离乙(列式计算.)一辆快客上午8:00从甲地开往乙地,到下午2:00正好走了全程的40%,这时汽车离乙地还有252千米.问 秦始皇的陵墓什么时候才能挖掘 三角形ABC的三条外角平分线所在的直线相交构成三角形DEF,那么三角形DEF的最大角a的取值范围是? 等腰直角三角形,直角边长50cm,另外两角都是45度,求斜边长度 30°,60°,90°角的比是多少?知道一个六十度角的长度该怎么知道九十度和三十度角的长度 设事件A表示"体温高于标准体温",事件B表示"肺部感染"P(B)=0.005,P(A|B)=0.95,P(~A|~B)=0.95.求体温高于标准体温条件下,肺部感染的概率是多少? 一个三角形,已知两角度数,和一条边长,求斜边?一个三角形,已知两角度数30度,60度,和底边长790,求斜边?我想要求斜边的过程,或是公式?? f(x)=|x-1|-|2x+1|画出图像,并求值域过程详细会追加奖励 .意思子曰:“人而不仁,如礼何?人而不仁,如乐何?” 姓项的有多少人 一块长方形小麦地,把它的长和宽各增加5厘米后,这块小麦地的面积增加了105平方米.这时它的周长是多少?·打错了 应该是增加5米 已知x1+x2=m,x1x2=3,x2+x3=2,x2x3=m,求m 马克思列宁有什么著作用什么语言写的?我个人觉得他们都是非常有思想见解独到的人,但不想看他们的思想经过技术改造的中译本,因此想学学他们的语言,看看他们真实的面貌.非常感谢二楼 已知f(x)=log2(1-2x),(1)求f(x)的定义域;(2)求使f(x)>0的x的取值范围. “若溶质为结晶水合物,溶于水后,其溶质的质量就不包括结晶水的质量了”为什么这么说? 这题错在哪,正确答案是: 第十题 求详细过程 a的平方等于30,求a等于多少? X-CAT摩托艇锦标赛挺进中国 首站中国最透明的安全软件:百度杀毒隐私保肯德基“半价桶”遭遇争论 小薯条代替宁海查获一万多罐假红牛 包装味道都和外国驻韩外交官5年犯法48起 外交豁农业部:农垦有望率先实现农业现代化朴槿惠为韩职棒总决赛开球 穿日本运动美媒揭白宫工作准则:不让总统为坏消息叙利亚总统警告:外国停止支持反对派才杨澜提问郎朗\"工作有何意义\"惹争金华餐饮业遭遇寒流 高档酒店与农家乐奥巴马医改网站安全漏洞细节曝光 内测金华看守所推启迪教室 给在押未成年人学者称一线城市过高生活成本让人幸福感能源局发布页岩气产业政策 加大财政扶戴尔完成249亿美元私有化交易 从纳在未建交国书写传奇——记旅居巴拉圭侨爱尔兰政府资深顾问哈利根:中国梦属于马达加斯加总理经济顾问曼德拉拉:中非日本福岛核电站冻土遮水壁预计将使用6专家:注册资本改革反推行政改革 建立江苏涟水一医院保安群殴老人?院方称对借贷宝:成立“10G裸条照”处置组 “碰瓷哥”逆天演技,连警察都惊呆了深圳一原局长区委大楼坠楼身亡 死前留广东高州一长途大巴司机竟是资深“瘾君重庆首届残疾人文化创新创业大赛收官(商务部:“中国对外企贸易限制抬头”说他“跑官”为当正县长 被忽悠走两千多广东赛前低调攒人品 杜峰:我们的内线新疆中泰化学年产25万吨PVC22万外参丨公投是病,这病得治!可是意大利哈尔滨通报8起侵害群众利益不正之风和西安警方破获运输贩毒案 缴获冰毒20深港通启动在即 内地财经门户网站发力澳门建设中葡商贸合作服务平台取得阶段山东新选26个“山东省旅游商品新品牌蓝皮书:中国血液供需区域发展不平衡 王小盾:老子代表了经典世界和前经典世广州一男子上午刚存600万,下午就只韩国政府公布新一轮对朝单边制裁措施马尔马拉海一油轮发生爆炸 事发地靠近
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘