IOS 视图切换动画
我在网上找到的这个小方法,被我举一反三使用的屡试不爽。
比如用在,当视图需要执行某一方法跳转到新的一个UIView上,从底层渐变浮到最上层。就是一个不错的视觉效果
或者当需要类似keyboard的效果从底下弹出来,点击再缩回去等等。
/*为了避免视图之间切换呆板问题,在IPHONE中引入了转换动画效果,分别在UIKit.framework和QuartzCore.framework之中。总的来说两者的播放方向都是left,right,up(top),down(bottom)四种,只不过后者的动画类型要比前者丰富一些。
好了,现在来看看代码中是怎样实现动画效果的(注意看颜色标注的区别):
CODE:
*/
/*
* @DO 视图切换动画
* @param sender(id)
*/
- (void) switchViews:(id)sender
{
// 准备动画
// [UIView beginAnimations:@"Curl"context:nil];
// 动画播放持续时间
// [UIView setAnimationDuration:1.25];
// 动画速度
// [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
// 准备动画
CATransition *animation = [CATransition animation];
//动画播放持续时间
[animation setDuration:0.25f];
//动画速度,何时快、慢
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseIn]];
if (self.showViewController.view.superview == nil)
{
// 动画方向
// [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp
// forView:self.view cache:YES];
/*动画效果
(
kCATransitionFade淡出|
kCATransitionMoveIn覆盖原图|
kCATransitionPush推出|
kCATransitionReveal底部显出来
)
*/
[animation setType:kCATransitionReveal];
/*动画方向
(
kCATransitionFromRight|
kCATransitionFromLeft|
kCATransitionFromTop|
kCATransitionFromBottom
)
*/
[animation setSubtype:kCATransitionFromBottom];
[self.view.layer addAnimation:animation forKey:@"Reveal"];
[saveViewController.view removeFromSuperview];
[self.view insertSubview:showViewController.view atIndex:];
}
else
{
// 动画方向
// [UIView setAnimationTransition: UIViewAnimationTransitionCurlDown
// forView:self.view cache:YES];
/*动画效果
(
suckEffect三角|
rippleEffect水波|
pageCurl上翻页|
pageUnCurl下翻页|
oglFlip上下翻转|
)
*/
[animation setType:@"suckEffect"];
//开始动画
[self.view.layer addAnimation:animation forKey:@"suckEffect"];
[showViewController.view removeFromSuperview];
[self.view insertSubview:saveViewController.view atIndex:];
}
// 结束动画
// [UIView commitAnimations];
}
/*
其中suckEffect三角 rippleEffect水波 pageCurl上翻页 pageUnCurl下翻页 oglFlip上下翻转这五类动画很少用,主要有两点:1、后者还没有经过官方的发布,很多资料都没有去介绍;2、考虑到其随时都会被官方更改,为着程序的稳定性等因素不去采用。 最后提下,UIKIT.frame中的动画是对UIView的而后者是针对视图的属性layer来实现的,后者与视图动画比起来,具备更大的优势,更容易进行转换,倾斜,放大,缩小等等。
*/
IOS 视图切换动画的更多相关文章
- iOS页面切换动画实现方式。
iOS页面切换动画实现方式. 1.使用UIView animateWithDuration:animations:completion方法 Java代码 [UIView animateWithDura ...
- iOS 视图,动画渲染机制探究
腾讯Bugly特约作者:陈向文 终端的开发,首当其冲的就是视图.动画的渲染,切换等等.用户使用 App 时最直接的体验就是这个界面好不好看,动画炫不炫,滑动流不流畅.UI就是 App 的门面,它的体验 ...
- iOS:视图切换的第一种方式:模态窗口
一.UIModalController:模态窗口(一个控制器模态出另一个控制器的模态窗口) 当我们在view controller A中模态显示view controller B的时候,A就充当pre ...
- ios 视图切换翻页效果
本文写的是视图切换,涉及到的内容有 1.实现代码添加Navigation Bar Toolbal: 2.实现在Navigation Bar和Toolbar上用代码添加Bar Button Item: ...
- ios视图切换之push与present混用
在变成过程中,经常遇到两个视图控制器之间的切换,导航控制器即UINaVigation是最常用的一种,有时为了某些效果又需要进行模态切换,即present. 我们的布局经常是在window上加一个nav ...
- iOS:视图切换的第二种方式:UINavigationController导航栏控制器
UINavigationController:一个以栈的形式管理多视图的容器,负责子控制器之间的跳转.由于以栈的方式管理视图,各个视图的切换就是压栈和出栈操作,所以出栈后的视图会立即销毁. 介绍: & ...
- sencha touch 监听视图切换动画(animation)
var animation = this.getLayout().getAnimation(); //添加监听 animation.on({ scope: this, animationend: 'o ...
- android视图切换动画:ViewAnimator类及其子类
类图:
- Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS
由于看了IOS上面很多开发者开发的APP的视图界面切换动画体验非常好,这些都是IOS自带的,但是Android的Activity等视图切换动画并没有提供原生的,所以特此写了一个可以媲美IOS视图切换动 ...
随机推荐
- Linux 修改hostname 文件
linux 的机器修改hostname: 修改 /etc/hosts 修改 /etc/sysconfig/network 重启机器reboot
- 个人用户安装SEP注意事项
一.安装时选择“非管控客户端” 二.安装时选择“自定义安装” 三.不要安装“应用程序与设备控制”,否则会拖慢开机 离线病毒库下载地址 http://www.symantec.com/securit ...
- centOS安装openoffice
centOS安装openoffice的方法: yum install openoffice.org-writer yum install openoffice.org-calc yum install ...
- XSLT模糊查询函数contains不区分大小写,for-each排序
代码如下: <xsl:for-each select="//NewDataSet/map/area[contains(translate(@alt, 'ABCDEFGHIJKLMNOP ...
- Xcode 快捷键操作
菜单栏 桌面 dock 不同应用的菜单栏始终出现在桌面最左上部 commond +shift+y 显示那个XCODE的调试框口 commond +R 运行 commond +,是个性设置,对于任何一 ...
- typeof与GetType区别及反射的见解
http://www.cnblogs.com/knowledgesea/archive/2013/03/02/2935920.html http://www.cnblogs.com/Jax/archi ...
- Use jQuery to hide a DIV when the user clicks outside of it
http://stackoverflow.com/questions/1403615/use-jquery-to-hide-a-div-when-the-user-clicks-outside-of- ...
- winform 在指定目录下已经生成资源Image图片的方式
假设在项目目录下存在一个Image目录,注意其中图片已经都设置成为:生成方式为资源文件. /// <summary> /// 得到要绘置的图片对像 /// </summary> ...
- 【腾讯内部干货分享】分析Dalvik字节码进行减包优化
http://wetest.qq.com/lab/view/?id=96?from=ads_test2_qqtips&sessionUserType=BFT.PARAMS.192184.TAS ...
- Queue and Message
#ifndef __QUEUE_H__ #define __QUEUE_H__ #include <stdint.h> #include <stdlib.h> #include ...