UIView封装动画--iOS利用系统提供方法来做关键帧动画

iOS利用系统提供方法来做关键帧动画

ios7以后才有用。

    /*关键帧动画options:UIViewKeyframeAnimationOptions类型*/[UIView animateKeyframesWithDuration:5.0 delay:0 options: UIViewAnimationOptionCurveLinear| UIViewAnimationOptionCurveLinear animations:^{//第二个关键帧(准确的说第一个关键帧是开始位置):从0秒开始持续50%的时间,也就是5.0*0.5=2.5秒[UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:0.5 animations:^{_imageView.center=CGPointMake(80.0, 220.0);}];//第三个关键帧,从0.5*5.0秒开始,持续5.0*0.25=1.25秒[UIView addKeyframeWithRelativeStartTime:0.5 relativeDuration:0.25 animations:^{_imageView.center=CGPointMake(45.0, 300.0);}];//第四个关键帧:从0.75*5.0秒开始,持所需5.0*0.25=1.25秒[UIView addKeyframeWithRelativeStartTime:0.75 relativeDuration:0.25 animations:^{_imageView.center=CGPointMake(55.0, 400.0);}];} completion:^(BOOL finished) {NSLog(@"Animation end.");}];
options可以分为两类

对于关键帧动画也有一些动画参数设置options,UIViewKeyframeAnimationOptions类型,和上面基本动画参数设置有些差别,关键帧动画设置参数分为两类,可以组合使用:

  • 常规动画属性设置(可以同时选择多个进行设置)

    UIViewAnimationOptionLayoutSubviews:动画过程中保证子视图跟随运动。

    UIViewAnimationOptionAllowUserInteraction:动画过程中允许用户交互。

    UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行。

    UIViewAnimationOptionRepeat:重复运行动画。

    UIViewAnimationOptionAutoreverse :动画运行到结束点后仍然以动画方式回到初始点。

    UIViewAnimationOptionOverrideInheritedDuration:忽略嵌套动画时间设置。

    UIViewAnimationOptionOverrideInheritedOptions :不继承父动画设置或动画类型。

  • 动画模式设置(同前面关键帧动画动画模式一一对应,可以从其中选择一个进行设置)

    UIViewKeyframeAnimationOptionCalculationModeLinear:连续运算模式。

    UIViewKeyframeAnimationOptionCalculationModeDiscrete :离散运算模式。

    UIViewKeyframeAnimationOptionCalculationModePaced:均匀执行运算模式。

    UIViewKeyframeAnimationOptionCalculationModeCubic:平滑运算模式。

    UIViewKeyframeAnimationOptionCalculationModeCubicPaced:平滑均匀运算模式。

注意:关键帧动画有两种形式,属性值关键帧动画,路径关键帧动画目前UIView还不支持。

转载于:https://www.cnblogs.com/fuunnyy/p/5776075.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript —从回调到异步/等待

JavaScript is synchronous. This means that it will execute your code block by order after hoisting. Before the code executes, var and function declarations are “hoisted” to the top of their scope.JavaScript是同步的。 这意味着它将在提升后按顺序执行代码块。…

关于解决工作中的自动化环境搭建的解决方案(序)

时间:2015~2017 之前的自动化搭建平台:robotest 安装工具:jdk1.8,robotest 这种工具反正超级好用,华为方搞得工具,前台操作超级傻瓜。会点xpatch,一些东西根本不在话下。但是坑爹的就是,出了外包…

xshell安装mysql步骤_mysql主从复制

前期提要:三年前双11买的阿里云今年到期了,win2012的,上面mysql数据库里记着自己的一些记账数据,上一年双11买了腾讯云的,centos7.7, 想学学MYSQL的复制功能,今天趁着无BUG可撸,试着配置了一下&…

大专学计算机维修,《计算机维修与网络工程》大专学历班

语文、数学、计算机英语、公文写作等办公自动化指法训练、英文打字、智能拼音及高速五笔字型中文打字、windows操作、Word2003文字处理软件、Excel2003电子表格、Powerpoint2003幻灯片制作、Internet网络的上网方法、浏览、下载、电子邮件收发等。本班学习完毕,可独…

webpack指定第三方模块的查找路径

通常我们会使用一些地方模块在我们的项目中,比如bootstrap import bootstrap 导入的bootstrap默认会查找当前目录的node_modules文件,但是如果这个文件没有,会依次往上级模块查找,直到到C盘的根目录为止,可以通过webpa…

我的第一个安卓应用程序_我如何设计我的第一个应用程序

我的第一个安卓应用程序by Daniel Novykov丹尼尔诺维科夫(Daniel Novykov) 我如何设计我的第一个应用程序 (How I Designed My First App) This is a story about building a product, what went wrong, and how it changed my career into Design.这是一个有关构建产品&#…

Appium——主从控制执行

1.客户端(Eclipse)机器A, 服务端(appium、Genymotion)机器B 2.设置Appium,Server Address为192.168.17.123,重新启动Appium 3.在客户端机器A浏览器中输入:http://192.168.17.123:4723/wd/hub, 说明配置成功。 JAVA代码…

Python学习-03(集合,文件,编码)

上周复习: 列表增删改查 元祖是可读列表 字符串操作 字典是无序的,通过key来找值。字典可以嵌套列表和字典 本周内容:集合--文件---字符编码 集合引入: #随机生成20个小于20的数,输出所有的数,# 要求重复…

安装centos7失败认不到硬盘_CentOS7 用U盘安装卡住无法进入安装界面解决方案

使用U盘安装Centos系统找不到U盘解决方案补充:1、制作U盘启动盘请参考:使用UltraISO(软碟通)制作ubuntu U盘启动盘如果你安装centos7出现了下图这种情况不用担心,是因为安装centos7时找不到U盘稍等一下,如下图等到出现命令行时。输…

Django横向二级导航栏(鼠标悬空事件)

1 <!DOCTYPE html>2 <html lang"en" xmlns"http://www.w3.org/1999/html">3 <head>4 <meta charset"UTF-8">5 <title>{% block title %} base模板 {% endblock title%}</title>6 <style >…

浙江大学计算机学院1702班,测控1702:传道授业解惑 此间师者真情

2017年9月11日晚8:00&#xff0c;电气与信息工程学院测控技术与仪器1702班在德智学生公寓的天台上开展了一场别开生面的班主任见面交流会。测控1702班班主任文一章博士、电气院2017级本科辅导员金晶老师以及测控1702班的同学们参加了此次见面会。测控1702班班主任文一章1991年出…

通过小程序给公众号传递消息_多输入现场消息传递应用程序概念

通过小程序给公众号传递消息by Dawid Woldu戴维德沃尔杜(Dawid Woldu) 多输入现场消息传递应用程序概念 (A multi-input field messaging app concept) Some time ago I shared in a Medium article the idea for context aware messenger app. The idea challenged the desig…

Oracle【IT实验室】数据库备份与恢复之二:SQL*Loader

2.1 基本知识 Oracle 的 SQL* LOADER 可以将外部格式化的文本数据加载到数据库表中。通常 与 SPOOL导出文本数据方法配合使用。 1.命令格式 SQLLDR keywordvalue [&#xff0c;keywordvalue&#xff0c;……] 例&#xff1a;$ sqlldr user/pwd controlemp.ctl dataemp.dat ba…

关于spring 获取不到网站上的xsd的处理记录

2019独角兽企业重金招聘Python工程师标准>>> 前两天做一个项目还好好的&#xff0c;今天突然报出这个错误 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element mvc:annotation-driven 应该是xml文件找不到相应…

蓝宝石英语怎么读_黑金和蓝宝石

这是一直以后我个人的一个理解误区&#xff0c;或者说是信息误区&#xff0c;就是这两个产品线&#xff0c;差别到底在哪里&#xff1f;以前我一直认为黑金的成分是纯天然的&#xff0c;而蓝宝石有一定的合成物质。这个信息一定是我从哪里读到的&#xff0c;由于无处求证&#…

秘密潜入2小辣椒_短暂潜入2次,我显然不知道自己作为开发人员正在做什么

秘密潜入2小辣椒by Zachary Kuhn扎卡里库恩(Zachary Kuhn) 那两次我显然不知道我作为开发人员正在做什么 (Those two times where I clearly had no clue what I was doing as a developer) Last week I had a short conversation with coworkers about how we had messed up …

提高你的javascript代码逼格系列之函数与数组

不知道大家有没有一种感觉&#xff0c;那就是自己写的javascript代码虽然能完全解决工作上的需要&#xff0c;但是&#xff0c;一眼望去&#xff0c;too simple&#xff01;&#xff01;&#xff01;简直就是一个傻子都能看懂的水平&#xff0c;于是&#xff0c;在工作之余&…

印度评论九章量子计算机,张礼立:中国 “九章”量子计算机到底厉害在哪?...

【背景信息】12月4日&#xff0c;《科学》杂志公布了中国“九章”的重大突破。 这台由中国科学技术大学潘建伟、陆朝阳等学者研制的76个光子的量子计算原型机&#xff0c;推动全球量子计算的前沿研究达到一个新高度。尽管距离实际应用仍有漫漫长路&#xff0c;但成功实现了“量…

手机web网页制作的认识(有关meta标签)

近日以来一直在看JQuery Mobile 一个手机开发框架&#xff0c;说实话真的很头疼的~~~~ 因为里面有很多的属性、方法和事件~~~ 下面是手机网页的一些认识&#xff1a; 一、<meta name"viewport" id"viewport" content"widthdevice-width, initial-s…

包打包和解析过程 unity_Unity学习—资源管理概览

本文介绍了 Unity 常用四种默认路径&#xff0c;以及 AssetDataBase、Resources、AssetBundle 和目前最新的 Addressable 四种资源管理方式文中所有 API 均以版本 2019.3 为准本文原地址&#xff1a;Unity学习—资源管理概览资源路径Application.dataPath官方文档只读&#xff…