八 iOS之 CATransition (转场动画)
CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。
动画转场类型
类型字符串 | 效果说明 | 关键字 | 方向 |
---|---|---|---|
fade | 交叉淡化过渡 | YES | |
push | 新视图把旧视图推出去 | YES | |
moveIn | 新视图移到旧视图上面 | YES | |
reveal | 将旧视图移开,显示下面的新视图 | YES | |
cube | 立方体翻滚效果 | ||
oglFlip | 上下左右翻转效果 | ||
suckEffect | 收缩效果,如一块布被抽走 | NO | |
rippleEffect | 水滴效果 | NO | |
pageCurl | 向上翻页效果 | ||
pageUnCurl | 向下翻页效果 | ||
cameraIrisHollowOpen | 相机镜头打开效果 | NO | |
cameraIrisHollowClose | 相机镜头关闭效果 | NO |
使用UIView动画函数实现转场动画
单视图
+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
参数说明:
- duration:动画的持续时间
- view:需要进行转场动画的视图
- options:转场动画的类型
- animations:将改变视图属性的代码放在这个block中
- completion:动画结束后,会自动调用这个block
双视图
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;
- 参数说明:
- duration:动画的持续时间
- options:转场动画的类型
- animations:将改变视图属性的代码放在这个block中
- completion:动画结束后,会自动调用这个block
代码演示
点击屏幕切换图片
- 在控制器中添加一个UIImageView
- 核心代码 ViewController.m
#import "ViewController.h"@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;@end@implementation ViewControllerstatic int i = 2;- (void)viewDidLoad {[super viewDidLoad];}-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{if (i == 4) {i = 1;}//更改图片name,用于不断切换图片,需要提前把图片命名为“1”、“2”、“3”NSString * strImage = [NSString stringWithFormat:@"%d",i];_imageView.image = [UIImage imageNamed:strImage];i++;//转场动画//初始化CATransition * anim = [CATransition animation];//设置动画转场类型,可以是`fade', `moveIn', `push' and `reveal'等等anim.type = @"cameraIrisHollowOpen";//动画执行周期anim.duration = 1;[_imageView.layer addAnimation:anim forKey:nil];/*-----------我是分界线-----------------*///还可以使用UIView的动画函数实现转场动画//单视图API
// [UIView transitionWithView:_imageView duration:1 options:UIViewAnimationOptionTransitionCurlDown animations:^{//
// NSLog(@"动画开始执行前走这里");
//
//
// } completion:^(BOOL finished) {//
// //动画执行完毕后的首位操作
// NSLog(@"动画执行完毕走这里");
//
// }];//双视图API
// 这是一个便捷的视图过渡 API,在动画过程中,首先将 fromView 从父视图中删除,然后将 toView 添加,就是做了一个替换操作。
//+ (void)transitionFromView:(UIView *)fromView
//toView:(UIView *)toView
//duration:(NSTimeInterval)duration
//options:(UIViewAnimationOptions)options
//completion:(void (^ __nullable)(BOOL finished))completion;}@end
八 iOS之 CATransition (转场动画)相关推荐
- iOS 关于自定义转场动画,以UITabBarController为例
1.小记 关于自定义转场动画,只要你理清他的"套路",你就可以随心所欲地自定义了. 大体思路就是:遵守对应的代理协议,然后设置对应的代理,实现代理方法,这个代理方法要返回的值就是你 ...
- iOS视图控制器转场动画
屏幕左边缘右滑返回,TabBar 滑动切换,你是否喜欢并十分依赖这两个操作,甚至觉得 App 不支持这类操作的话简直反人类?这两个操作在大屏时代极大提升了操作效率,其背后的技术便是今天的主题:视图控制 ...
- iOS动画之转场动画CATransition
CATransition转场动画 提供层状态间动画转换的对象. 你可以通过创建和添加一个cattransitions对象到一个层的状态之间的过渡.默认转换是交叉渐隐,但是您可以从一组预定义转换指定不同 ...
- IOS开发之——动画-转场动画(98)
一 概述 CATransition转场动画介绍 专场动画属性及过渡效果 示例(动画切换模拟转场动画) 二 CATransition专场动画介绍 nCATransition是CAAnimation的子类 ...
- iOS粒子特效、仿微信朋友圈、转场动画、抢红包动画等源码
iOS精选源码 viewController 之间的转场动画 swift版 视频添加水印及粒子特效 小红点(消息推送提醒)完整解决方案 仿微信朋友圈–CircleOfFriendsDisplay 图片 ...
- 核心动画中的动画组和转场动画
动画组 CAAnimationGroup 上篇博客http://blog.csdn.net/cocoarannie/article/details/10413301介绍了核心动画中的基本动画(CABa ...
- (0030) iOS 开发之跳转之转场动画
demo: 1 iOS ~ ViewController的Push,Pop和Present,Dismiss转场动画 // http://blog.csdn.net/zhangao0086/artic ...
- IOS开发教程第一季之02UI进阶day8合并IOS学习019--敲击、长按、轻扫、旋转,CALayer、锚点,CADisolayLink刷新,核心动画,关键帧动画,组动画,转场动画,画板案例
1.创建并实现手势的基本步骤 点击手势 #import "ViewController.h"@interface ViewController () @property (weak ...
- iOS开发之核心转场动画
iOS开发UI篇-核心动画(转场动画和组动画) 一.转场动画简单介绍 CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一 ...
最新文章
- 3D机器人视觉在仓储物流和工业自动化领域的应用 | AI ProCon 2019
- python 类型之 set
- GNU C 中的零长数组
- vscode插件:REST Client发送http请求
- charles抓app包教程_charles关于手机APP抓包
- swift3.0 类字符串转类(字符串转ViewController)
- xshell连不上虚拟机linux的解决办法
- Android的MediaPlayer架构介绍
- elementUI中复选框checkbox的使用
- rad linux下安装mysql_Rad Hat Enterprise Linux 5.5上安装Oracle 11g R2
- 自己动手简单实现vbb的URL静态化
- 利用html表格制作个人简历
- 20189222 《网络攻防实践》安全工具、库的简介以及使用教程
- 用Global Mapper软件批处理将dwg转GeoPdf
- javascript 按下回车键触发input表单的切换(enter键代替tab键功能)
- 关于使用J-Flash直接烧录bin文件的方法
- HTML5期末大作业:网上鲜花网站设计——网上鲜花网页设计(5页)HTML+CSS+JavaScript web期末作业设计网页
- DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution
- HRNet-v1模型,用于人体形态检测
- 图片太大怎么压缩变小?
热门文章
- 高雅有趣的Wolfram Mathematica导入篇:绘声绘色的程序语言
- Mac iOS 虚拟机VM 开开机后一段时间不用鼠标和键盘休眠的解决方法
- Spring源码学习(-)别怕,老外点中餐与AbstractBeanFactory.getBean的主流程差不多
- 直播系统---从客户端的视角看蘑菇街直播架构
- 前端之H5新特性Web Worker
- 商人宝:免费小程序商城系统平台运营有哪些技巧?
- Codeforces Round #811 (Div. 3) E Add Modulo 10
- ICIP 2009 Papers
- linux gcc编译常见问题,常见gcc编译警告整理以及解决方法 - 常见gcc编译警告整理以及解决方法...
- 有没什么便签App可以用闹钟提醒该做什么