iOS开发——动画编程Swift篇&(三)CATransition动画
CATransition动画
// MARK: - CATransition动画
// /* 动画样式 */
// let kCATransitionFade: NSString! //翻页
// let kCATransitionMoveIn: NSString! //弹出
// let kCATransitionPush: NSString! //推出
// let kCATransitionReveal: NSString! //移出
//
// /* 动画执行的方向 */
// let kCATransitionFromRight: NSString! //右侧
// let kCATransitionFromLeft: NSString! //做成
// let kCATransitionFromTop: NSString! //上部
// let kCATransitionFromBottom: NSString! //底部
/* 非公开动画效果 */
// "cube" //立方体
// "suckEffect" //吸收
// "oglFlip" //翻转
// "rippleEffect" //波纹
// "pageCurl" //卷页
// "cameralrisHollowOpen" //镜头开
// "cameralrisHollowClose" //镜头关
//CATransition动画-揭开(Push动画)
@IBAction func caAnimationChage1()
{
var transition = CATransition()
transition.duration = 1.0
transition.type = kCATransitionPush //推送类型
transition.subtype = kCATransitionFromLeft//从左侧
self.view.exchangeSubviewAtIndex(, withSubviewAtIndex: )
self.view.layer.addAnimation(transition, forKey: nil)
}
//CATransition动画-推出
@IBAction func caAnimationChage2()
{
var transition = CATransition()
transition.duration = 1.0
transition.type = kCATransitionMoveIn
transition.subtype = kCATransitionFromTop
self.view.exchangeSubviewAtIndex(, withSubviewAtIndex: )
self.view.layer.addAnimation(transition, forKey: nil)
}
//CATransition动画-平移
@IBAction func caTranatate()
{
//每次都是从前前位置平移
self.testImageView.transform=CGAffineTransformTranslate(self.testImageView.transform, -1.9, -1.9)//正负 代表方向
//每次都从最开始的位置计算平移
// self.testImageView.transform=CGAffineTransformMakeTranslation(1.2, 1.2)
}
//CATransition动画-旋转
@IBAction func caRotate()
{
//连续旋转
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)//设置动画时间
self.testImageView.transform=CGAffineTransformRotate(self.testImageView.transform, CGFloat(-M_PI/))
UIView.commitAnimations()
//独立旋转,以初始位置旋转
// self.testImageView.transform=CGAffineTransformMakeRotation(CGFloat(M_PI/6))
}
//CATransition动画-缩放
@IBAction func caScale()
{
//连续缩放
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)//设置动画时间
self.testImageView.transform=CGAffineTransformScale(self.testImageView.transform, 1.5, 1.5);//1.0以下缩小,1.0以上放大
UIView.commitAnimations()
//独立缩放,以初始位置缩放
// self.testImageView.transform=CGAffineTransformMakeScale(1.2, 1.2)
}
//CATransition动画-反转到某个状态
@IBAction func caInvert()
{
self.testImageView.transform=CGAffineTransformIdentity;//返回到初始状态
//连续反转
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)//设置动画时间
self.testImageView.transform=CGAffineTransformConcat(self.testImageView.transform,CGAffineTransformInvert(self.testImageView.transform));
UIView.commitAnimations()
//独立反转,以初始位置反转
// self.testImageView.transform=CGAffineTransformInvert(self.testImageView.transform)
}
iOS开发——动画编程Swift篇&(三)CATransition动画的更多相关文章
- iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画
CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...
- iOS开发——网络编程Swift篇&(三)同步Get方式
同步Get方式 // MARK: - 同步Get方式 func synchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...
- iOS开发——网络编程Swift篇&Alamofire详解
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...
- iOS开发——网络编程Swift篇&(八)SwiftyJSON详解
SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库 ...
- iOS开发——网络编程Swift篇&(七)NSURLSession详解
NSURLSession详解 // MARK: - /* 使用NSURLSessionDataTask加载数据 */ func sessionLoadData() { //创建NSURL对象 var ...
- iOS开发——网络编程Swift篇&(六)异步Post方式
异步Post方式 // MARK: - 异步Post方式 func asynchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &q ...
- iOS开发——网络编程Swift篇&(五)同步Post方式
同步Post方式 // MARK: - 同步Post方式 func synchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &qu ...
- iOS开发——网络编程Swift篇&(四)异步Get方式
异步Get方式 // MARK: - 异步Get方式 func asynchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...
- iOS开发——网络编程Swift篇&(二)同/异&步请求
同/异&步请求 同步: // MARK: - 同步请求 func httpSynchronousRequest() { //创建NSURL对象 var url:NSURL! = NSURL(s ...
- iOS开发——网络编程Swift篇&(一)网络监测
网络监测 enum ReachabilityType { case WWAN, WiFi, NotConnected } public class Reachability { /** :see: O ...
随机推荐
- Epic - Spiral Matrix
Given aNXN matrix, starting from the upper right corner of the matrix start printingvalues in a coun ...
- BFS寻路算法的实现
关于BFS的相关知识由于水平有限就不多说了,感兴趣的可以自己去wiki或者其他地方查阅资料. 这里大概说一下BFS寻路的思路,或者个人对BFS的理解: 大家知道Astar的一个显著特点是带有启发函数, ...
- 使用android SpannableStringBuilder实现图文混排
项目开发中需要实现这种效果 多余两行,两行最后是省略号,省略号后面是下拉更多 之前用过的是Html.fromHtml去处理图文混排的,仅仅是文字后图片或者文字颜色字体什么的, 但是这里需要在最后文字的 ...
- JavaScript 变量、作用域及内存详解
基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的. (1)值类型:数值.布尔值 ...
- NLP初步
[NLP初步] NLP是Natural Lanuage Process的缩写.搜索引擎可以通过关词匹配和完成很多的任务, 比如话题搜索(搜索包含律师, 法院, 控告等词的文档), 但是搜索引擎无法理解 ...
- js实现异步循环
@(编程) 问题 实现异步循环时,你可能会遇到问题. 让我们试着写一个异步方法,每秒打印一次循环的索引值. for(var i = 0; i < 5; i++) { setTimeout(fun ...
- 创建Android Virtual Device
参考http://book.51cto.com/art/201302/380026.htm Linux版的Android SDK没有提供可视化的AVD Manager管理工具,创建AVD可以使用and ...
- Codeforces 479E. Riding in a Lift (dp + 前缀和优化)
题目链接:http://codeforces.com/contest/479/problem/E 题意: 给定一个启示的楼层a,有一个不能去的楼层b,对于你可以去的下一个楼层必须满足你 ...
- [源码分享] HIVE表数据量统计&邮件
概要: 计算HIVE BI库下每天数据表总大小及增量 输出: 总大小:xxxG 日同比新增数据量:xxxG 周同比新增数据量:xxxG 月同比新增数据量:xxxG 总表数:xxx 日新增表数:xxx ...
- ELF--动态链接
对前面add.c稍作修改, #include <stdio.h>int add_count = 0; extern int sum_count;extern void print_log( ...