UIView动画效果

UIView是iOS系统中界面元素的基础, 所有的界面元素都是继承自它.它本身完全由CoreAnimation来实现的.它真正的绘图部分,是由一个CALayer类来管理.UIView本身更像一个CALayer的管理器,访问它的跟绘图和坐标有关的相关属性. iOS的画面切换效果的API主要通过调用系统已定义的动画效果实现,这些效果已基本包括开发的需求,如需更复杂的效果,可以使用CATransition来实现.

以下是基本的四种效果
kCATransitionPush 推入效果
kCATransitionMoveIn 移入效果
kCATransitionReveal 截开效果
kCATransitionFade 渐入渐出效果

以下API效果可以安全使用
cube 方块
suckEffect 三角
rippleEffect 水波抖动
pageCurl 上翻页
pageUnCurl 下翻页
oglFlip 上下翻转
cameraIrisHollowOpen 镜头快门开
cameraIrisHollowClose 镜头快门开


以下API效果请慎用
spewEffect 新版面在屏幕下方中间位置被释放出来覆盖旧版面.
genieEffect 旧版面在屏幕左下方或右下方被吸走, 显示出下面的新版面
unGenieEffect 新版面在屏幕左下方或右下方被释放出来覆盖旧版面.
twist 版面以水平方向像龙卷风式转出来.
tubey 版面垂直附有弹性的转出来.
swirl 旧版面360度旋转并淡出, 显示出新版面.
charminUltra 旧版面淡出并显示新版面.
zoomyIn 新版面由小放大走到前面, 旧版面放大由前面消失.
zoomyOut 新版面屏幕外面缩放出现, 旧版面缩小消失.
oglApplicationSuspend 像按”home” 按钮的效果.

例如:

//获得一个动画对象  

    CATransition *animation = [CATransition animation];  

    //设置动画时间  

    animation.duration = 1;  

    //设置动画速率  

    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];  

      

    /* 

     animation.type = @"cube"             //立方体效果 

     animation.type = @"suckEffect"       //收缩效果,如一块布被抽走 

     animation.type = @"oglFlip"          //上下翻转效果 

     animation.type = @"rippleEffect"     //滴水效果 

     animation.type = @"pageCurl"         //向上翻一页 

     animation.type = @"pageUnCurl"       //向下翻一页 

     */  

    //设置动画类型  

    animation.type = @"pageCurl";  

      

    //设置动画子类型  

    animation.subtype = kCATransitionFromTop;  

      

      

    //添加到layer层  

    UIView *myView = [self.view viewWithTag:2016];  

      

    [myView.layer addAnimation:animation forKey:@"animation"];  

    [myView exchangeSubviewAtIndex:0 withSubviewAtIndex:1];  

转载于:https://www.cnblogs.com/dreamDeveloper/p/6052779.html

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

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

相关文章

mysql bin.000047_mysql-bin.0000X 日志文件处理

一、清除文件[rootjiucool var]# /usr/local/mysql/bin/mysql -u root -pEnter password: (输入密码)Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 264001Server version: 5.1.35-log Source distributionType ‘help;’ or ‘/h’…

向导页设计_向导设计模式

向导页设计我们都喜欢巫师……。 (我的意思是软件向导)。 我们总是很高兴跳到那些“下一步”按钮上,就像我们在我们的时髦的小鸡上跳舞一样。。。 因此,今天我们将您心爱的向导带入您的编码体验。 让我们跳入一个例子。 假设您要设…

Java第十天

线程间通讯: 多个线程在处理同一资源,但是任务却不同。 多生产者,多消费者的问题: if判断标记,只有一次,会导致不该运行的线程运行了。出现了数据错误的情况。 while判断标记,解决了线程获取执行…

使用Apache Drill深入研究当今的大数据

自2014年9月首次提供Beta版以来, Apache Drill一直在获得广泛的用户采用和社区动力。2015年5月发布了Drill的通用版本-Drill 1.0,此后,许多客户已在生产中部署和使用了Drill。 在此博客文章中,我将简要总结客户在Drill中发现的宝贵…

mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法

为方便维护MySQL,写了个脚本用以提供收集错误信息的接口。这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径。以下是全部相关代码:#!/usr/bin/env python2.7#-*- encoding: utf-8 -*-"""该模块用于…

微信小程序需要https后台的创业机会思考

最近比较关注微信小程序,而且微信小程序的后台必须强制要求https, https相对http成本要高很多了。 这里我感觉有2个商机 (1)提供https 中转服务器 ,按流量来收费 (2) 微信小程序https 云后台 对于很多人学…

aspx是什么语言_什么是网页

第一个问题,什么是网页?我们通常在网上浏览的所有网页都是网页,一个网站由一页到50页不等的网页组成,一些大型网站可能包含数千万页,是第一个打开网站的网站。这些页面被称为主页。专有名词:这里简要介绍网页、网站和主…

[Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建

一、前言 intel-iot-examples-datastore 是Intel提供用于所有Edison开发板联网存储DEMO所需要的服务器工程。该工程是基于nodejs和redis写成的一个简单的工程。针对nodejs和redis会在后面介绍。 It is a Node.js* application written using Express* (https://github.com/stro…

将Lucene搜索集成到应用程序中

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中,您将了解Lucene。 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式。 此外,您将学习如何将Lucene Search集成到您自己的应用程序中,以…

mysql运算结果放入表中_MySQL表1新增数据,计算开始、结束日期之间所有时间,插入到表2中...

新建表c3#id设置自增量,kk是要同步的一些数据值,dd是开始时间,dde是结束时间CREATE TABLE c3 (id int(11) NOT NULL auto_increment PRIMARY KEY,kk varchar(255),dd datetime,dde datetime)新建表c4#id也设置自增量,kk是要同步…

git-svn — 让git和svn协同工作

git-svn — 让git和svn协同工作svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着…

longtext长度为0是什么意思_为什么 HashMap 中链表长度大于 8 才转化为红黑树?

Java 中的 HashMap 采用链表法来解决哈希冲突(HashMap 原理),即具有相同桶下标的键值对使用一个链表储存。当链表变长时,查找和添加(需要确定 key 是否已经存在)都需要遍历这个链表,速度会变慢。…

Ulink2 No Ulink Device found 解决办法

一、背景keil使用ULINK2调试的时候,提示"No Ulink Device found","error: flash download failed - Target DLL has cancelled" 。之前一直都OK,然后今天突然不行,插上的时候,"COM",&qu…

python图形界面教程_图形教程

python图形界面教程众所周知,我们可以借助Java库制作游戏,这些库为我们提供制作游戏所需的图形。 因此,今天我将开始一个关于Java图形的非常新的部分。 我之前曾发表过有关如何制作所得税计算器的文章 。 首先要满足一些先决条件:…

java创建树结构_Java学习之XML-017

如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。反复练习直到熟练。————百战程序员1.0 XML1.1 XML 简介XML 指可扩展标记语言。XML 被设计用来传输和存储数据。1. 什么是XMLXML 指可扩展标记语言(EXten…

dll文件是什么

dll实际上是动态链接库的缩写,从windows1.0开始,动态链接库就是整个操作系统的基础,那么这有什么作用呢?在dos时代,程序员是通过编写程序来达到预期的目的的,每实现一个目的就需要编写一个程序,…

minecraft pythonapl_Substance PythonAPI入门案例

第一次在知乎发文,技术朋友们请多包涵。Substance Designer自去年夏天2018版推出Python API至今已有一年,从一开始的寒酸到现在的初成规模,官方的API库也随着版本的更新不断完善。目前网上(包括youtube)相关的教程甚少,即便是官方…

创建示例HTTPS服务器以获取乐趣和收益

通常,在开发人员或/和针对实际场景进行测试期间,我们(开发人员)面临着运行成熟的HTTPS服务器的需求,可能同时进行一些模拟。 在JVM平台上,除非您知道适合此工作的正确工具,否则它过去并不是一件…

WebDriver API元素的定位

一、以下截图为用FireBug定位的用火狐(Firefox)浏览器打开的百度首页,下面所讲述的八种定位方法,就是以该截图中的百度输入框为例子。 ①、FireBug是Firefox浏览器下的开发类插件,通过该插件可以查看HTML、CSS、Javascript控制台、网络状况监…

mysql字符乱码百度_如何解决MySQL字符集乱码问题

变量 a 的字符编码是由参数 CHARACTER_SET_CLIENT 决定的,假设此时编码为 A,也就是变量 a 的编码。2. 写入语句在发送到 MySQL 服务端之前的编码由 CHARACTER_SET_CONNECTION 决定,假设此时编码为 B。3. 经过 MySQL 一系列词法,语…