博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift - 使用CATransition制作过渡动画(页面切换转场效果)
阅读量:6673 次
发布时间:2019-06-25

本文共 1495 字,大约阅读时间需要 4 分钟。

CATransition动画主要在过渡时使用,比如两个页面层级改变的时候添加一个转场效果。CATransition分为两类,一类是公开的动画效果,一类是非公开的动画效果。

1,公开动画效果:
kCATransitionFade:翻页
kCATransitionMoveIn:弹出
kCATransitionPush:推出
kCATransitionReveal:移除
2,非公开动画效果:
"cube":立方体
"suckEffect":吸收
"oglFlip":翻转
"rippleEffect":波纹
"pageCurl":卷页
"cameraIrisHollowOpen":镜头开
"cameraIrisHollowClose":镜头关
3,动画方向类型:
kCATransitionFromRight:从右侧开始实现过渡动画
kCATransitionFromLeft:从左侧开始实现过渡动画
kCATransitionFromTop:从顶部开始实现过渡动画
kCATransitionFromBottom:从底部开始实现过渡动画

4,下面通过一个样例演示:
页面上添加两个分别是红色,蓝色的UIView。当点击屏幕的时候,这两个UIView层级切换,同时会有从左向右推出的效果。
 
       
       
   
       

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import
UIKit
 
class
ViewController
:
UIViewController
{
     
    
override
func
viewDidLoad() {
        
super
.viewDidLoad()
         
        
var
redView:
UIView
=
UIView
(frame:
CGRectMake
(20,20,280,400))
        
redView.backgroundColor =
UIColor
.redColor()
        
self
.view.insertSubview(redView, atIndex: 0)
         
        
var
blueView:
UIView
=
UIView
(frame:
CGRectMake
(20,20,280,400))
        
blueView.backgroundColor =
UIColor
.blueColor()
        
self
.view.insertSubview(blueView, atIndex: 1)
    
}
     
    
//点击切换两个红蓝视图
    
override
func
touchesBegan(touches:
Set
<
NSObject
>, withEvent event:
UIEvent
) {
        
var
transition =
CATransition
()
        
transition.duration = 3.0
        
transition.type = kCATransitionPush
//推送类型
        
transition.subtype = kCATransitionFromLeft
//从左侧
        
self
.view.exchangeSubviewAtIndex(1, withSubviewAtIndex: 0)
        
self
.view.layer.addAnimation(transition, forKey:
nil
)
    
}
     
    
override
func
didReceiveMemoryWarning() {
        
super
.didReceiveMemoryWarning()
    
}
}

转载地址:http://mqrxo.baihongyu.com/

你可能感兴趣的文章
分析Padavan源代码,二
查看>>
WordPress的WPML外挂出问题恐出现安全漏洞
查看>>
Django 调试技巧
查看>>
Spring Boot和thymeleaf , freemarker , jsp三个前端模块的运用
查看>>
phalcon-入门篇3(优美的URL与Config)
查看>>
单表60亿记录等大数据场景的MySQL优化和运维之道
查看>>
sql学习笔记
查看>>
maven编译时出现There are test failures
查看>>
SpringBoot | 第三十一章:MongoDB的集成和使用
查看>>
网络学习笔记2
查看>>
JPA--多对多关系
查看>>
配置sharepoint 2010错误:Microsoft.SharePoint.Upgrad...
查看>>
UUID 生成算法JS版
查看>>
JAVA中,Map转实体类、实体类转Map的方法
查看>>
获取n!的末尾有多少个0?
查看>>
使用递归遍历并转换树形数据(以 TypeScript 为例)
查看>>
windows下实现wamp与tomcat环境整合
查看>>
我的友情链接
查看>>
Windows Server 2012 R2搭建IIS服务器
查看>>
SCVMM 2012 R2运维管理二之:安装域控制器
查看>>