iOS.Animations.by.Tutorials.v2.0汉化(三)
第2章:Springs
在前一章中,您学习了如何创建UIKit的基本动画,包括如何提供起始值和结束值随着时间的UIKit,自动为你创建一个动画。
到目前为止,你的动画一直是单方向的流体运动。当你激活一个视图的位置时,它是一个从A点到B点的简单运动,就像这样:
在本章中,您将学习如何创建更复杂的动画,将视图移动到它们与Spring的连接上,如下所示:
如果你通过基本动画从A点到B点,在此基础上加点弹性,动画的运动将遵循一个下面的红色箭头指示的路径:
箭头从A点到B点,但是超过B点的一小部分,然后箭头又返回B点另一侧一点。这种来回摆动重复直到视图在B点静止为止。
这是一个很好的效果;它增加了一个活泼的,真实的动感,让人切身的感受到你的动画。本章将向您展示如何使用此效果为用户界面添加一点趣味性。
Spring animations弹性动画
您将继续使用上一章的项目;如果您没有完成第1章中的练习(包括第1章最后的挑战),那么您也可以从第2章的资源文件夹中获取启动项目并使用它开始新的征程。
构建和运行你的项目;你应该看到屏幕上的视图(除了登录按钮)在应用程序打开时会有像这样的动画效果:
您的任务是处理屏幕上的最后一个非动画元素:登录按钮。
打开项目的视图控制器ViewController,然后将下面的代码添加到viewWillAppear() :方法内的:
self.loginButton.center = CGPointMake(self.loginButton.center.x, self.loginButton.center.y + 30.0);
self.loginButton.alpha = 0.0;
正如前一章所做的那样,在y轴上设置按钮的起始位置稍低一点,并将其alpha值设置为零,使其开始为不可见。
现在viewdidappear()添加以下代码:
[UIView animateWithDuration:0.5 delay:0.5 usingSpringWithDamping:0.5 initialSpringVelocity:0.0 options:nil animations:^{
self.loginButton.center = CGPointMake(self.loginButton.center.x, self.loginButton.center.y - 30.0);
self.loginButton.alpha = 1.0;
} completion:nil];
这段代码有两个要点。
首先,您同时激活了两个不同的属性!这比你想象的容易,对吧?
其次,您第一次使用了一种新的动画方法:
animatewithduration(_:delay: usingSpringWithDamping: initialSpringVelocity: opti ons: animations: completion:)。说方法的名字太快可能会伤害你的舌头!
iOS.Animations.by.Tutorials.v2.0汉化(三)的更多相关文章
- iOS.Animations.by.Tutorials.v2.0汉化(二)
翻译自:iOS.Animations.by.Tutorials.v2.0 第一节(第1章) 动画属性 现在你已经看到了动画是多么的简单,你可能很想知道你的视图控件是怎么动起来的.本节将给你一个UIVi ...
- iOS.Animations.by.Tutorials.v2.0汉化
翻译自:iOS.Animations.by.Tutorials.v2.0 前五章将向你介绍动画API-UIKit框架.这个API是专门设计来帮助你轻松轻而易举的为视图控件赋予生命,同时避免了核心动画的 ...
- iOS.Animations.by.Tutorials.v2.0汉化(四)
第三章 转换 在前面的两章,你学习了如何创建基于视图位置和透明度alpha的动画属性的动画.但是,如果您希望在视图上添加动画或删除动画,您将如何处理呢? 您可以使用前几章的方法来设置进出界面的动画效果 ...
- AndroidStudio V2.0.0.汉化
汉化包下载:http://pan.baidu.com/s/1kVKYUjH AndroidStudio V2.0.x.版汉化工作介绍 resource_en.jar------> resourc ...
- UPX3.03+UpolyX.5 Shell v1.0 汉化绿色版
软件名称:UPX3.03+UpolyX.5 Shell v1.0 汉化绿色版软件类别:汉化软件运行环境:Windows软件语言:简体中文授权方式:免费版软件大小:635 KB软件等级:整理时间:201 ...
- Androidstudio2.0.0汉化教程及汉化包。
()Eric为大家带来Androidstudio2.0.0的简单汉化教程,许多小伙伴喜欢使用中文版的AS那么没有中文的AS只能靠自己汉化取得更好的体验. 第一步下载AS2.0.0汉化包,我有链接给大家 ...
- Erstudio8.0怎么用?Erstudio8.0汉化版详细使用教程
Erstudio8.0使用教程 打开ERstudio,点击新建出现如图对话框: 选择第一个,表示创建一个新的关系型 数据库模型 这里提一点数据库模型分为relational(关系)和dimension ...
- WPBakery Page Builder页面生成器6.0 汉化版
WPBakery Page Builder 是一个可视化编辑器插件 ,相较于WP自带的编辑器使用起来更加方便,同时功能更 加强大,完全的可视化操作,使用比较简单,国外有多款主题需要使用插件. WPBa ...
- phpstorm8.0汉化版下载
下载地址http://www.52z.com/soft/161911.html 汉化包:http://www.7down.net/soft/20586.html phpStorm汉化方法 1.安装原版 ...
随机推荐
- fullpage.js的easing参数怎样配置自定义动画
首先看非官方文档 并没有详细的说明怎样去使用easing.js,所以我加的运动属性根本就不起作用, 再看,官方文档 Optionally, when using css3:false, you can ...
- python-networkx学习(1)
介绍: networkx是python的一个库,它为图的数据结构提供算法.生成器以及画图工具.近日在使用ryu进行最短路径获取,可以通过该库来简化工作量.该库采用函数方式进行调用相应的api,其参数类 ...
- ASP.NET Core Web APi获取原始请求内容
前言 我们讲过ASP.NET Core Web APi路由绑定,本节我们来讲讲如何获取客户端请求过来的内容. ASP.NET Core Web APi捕获Request.Body内容 [HttpPos ...
- How to get started with GIT and work with GIT Remote Repo
https://www.ntu.edu.sg/home/ehchua/programming/howto/Git_HowTo.html#zz-7. 1. Introduction GIT is a ...
- 统一网络控制器Func
一.简介 二.安装 三.测试 一.简介 什么是Func? Func是由红帽子公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理基础框架.它是一个能有效简化多服务 ...
- sql集锦
1. emp表中取出1981年入职的员工信息--sql select * from emp where extract(year from emp.hiredate)='1981'; ...陆续添加
- 初识DIV+CSS
div元素是用来为html文档内大声(block-level)的内容提供结构和背景的元素. css是Cascading Style Sheets(层叠样式表单)的缩写,是一种用来表现html或xml等 ...
- 浅谈计算机中的IO模型
IO模型一共有5种: blocking IO #阻塞IO nonblocking IO #非阻塞IO IO myltiplexing #IO多路复用 signal driven IO #信号驱动IO ...
- BZOJ 2780: [Spoj]8093 Sevenk Love Oimaster [广义后缀自动机]
JZPGYZ - Sevenk Love Oimaster Oimaster and sevenk love each other. But recently,sevenk hea ...
- 在Android上编写模块化项目(翻译)
来源博客:Wang Jie's Blog 本文链接:http://blog.wangjiegulu.com/2018/02/13/writing_a_modular_project_on_androi ...