swift--动画效果
一、for循环创建4*4个view,然后对立面的所有view进行动画,这里列集中动画的效果:
1,旋转动画
for tile in backgrounds{ //现将数字块大小职位原始尺寸的1/10
tile.layer.setAffineTransform(CGAffineTransform(scaleX: 0.1,y: 0.1)) //设置动画效果,动画时间长度1秒
UIView.animate(withDuration: , delay: 0.01, options: [], animations: { }, completion: { (finished) in UIView.animate(withDuration: , animations: {
//完成动画时,数字块复原
tile.layer.setAffineTransform(CGAffineTransform.identity)
}) }) }
2,不透明到透明的效果
for tile in backgrounds { tile.alpha = //设置动画效果,动画时间长度1秒
UIView.animate(withDuration: , delay: 0.01, options: [.curveEaseInOut], animations: { }, completion: { (finished) in
UIView.animate(withDuration: , animations: {
tile.alpha =
})
}) }
3,从小到大的效果
for tile in backgrounds { //现将数字快大小之前原始尺寸的1/10
tile.layer.setAffineTransform(CGAffineTransform(scaleX:0.1,y:0.1)) //设置动画效果,动画时间长度1秒
UIView.animate(withDuration: , delay: 0.01, options: [], animations: {
tile.layer.setAffineTransform(CGAffineTransform(scaleX:,y:))
}, completion: { (finished) in
UIView.animate(withDuration: 0.08, animations: {
tile.layer.setAffineTransform(CGAffineTransform.identity)
})
}) }
记录下三种动画效果
二、使用beginAnimations和commitAnimations方法来实现动画
beginAnimations:此方法开始一个动画快,调用commitAnimations结束一个动画块,并且动画块是允许嵌套的。
commitAnimations:此方法用于结束一个动画块,动画时在一个独立的线程中运行的,动画在生效时,所用应用程序不会中断。
beginAnimations和commitAnimations中间的代码中,我们可以设置各种动画的属性,比如持续时间,使用哪算阈值的动画效果等。
1)淡入、淡出、移动、改变大小动画
func animationAction() {
//淡出动画
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)
imgV.alpha = 0.0
UIView.commitAnimations() //淡入动画
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)
imgV.alpha = 1.0
UIView.commitAnimations() //移动动画
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)
imgV.center = CGPoint(x:,y:)
UIView.commitAnimations() //大小调整动画
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)
imgV.frame = CGRect(x:,y:,width:,height:)
UIView.commitAnimations()
}
UIViewAnimationTransition定义了 5 种过渡动画类型:
- none:无过渡动画效果
- flipFromLeft:从左侧向右侧翻转
- flipFromRight:从右侧向左侧翻转
- curlUp:向上卷数翻页
- curlDown:向下翻页
代码如下:
//翻页动画 一 向左翻页
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.5)
UIView.setAnimationTransition(.curlUp, for: self.view1!, cache: true)
self.view.exchangeSubview(at: , withSubviewAt: )
UIView.commitAnimations() //翻页动画 二 旋转
UIView.beginAnimations("animation", context: nil)
UIView.setAnimationDuration(2.0)
UIView.setAnimationCurve(.easeInOut)
UIView.setAnimationTransition(.flipFromLeft, for: self.view2!, cache: false)
self.view.exchangeSubview(at: , withSubviewAt: )
UIView.commitAnimations()
跳转到其他页面的操作:
let EleventhVC = EleventhViewController()
let windows = UIApplication.shared.delegate?.window
let nav = UINavigationController(rootViewController:EleventhVC) UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)
UIView.setAnimationCurve(.easeInOut)
UIView.setAnimationTransition(.curlUp, for: windows!!, cache: true)
UIView.commitAnimations()
windows??.rootViewController = nav
主界面做动画:
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(2.0)
UIView.setAnimationCurve(.easeOut)
UIView.setAnimationTransition(.curlDown, for: self.view, cache: false)
UIView.commitAnimations()
swift--动画效果的更多相关文章
- Swift - 动画效果的实现方法总结(附样例)
在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimations.这三个方法都是类方法. 一,使用 ...
- iOS开发——动画篇Swift篇&动画效果的实现
Swift - 动画效果的实现 在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimation ...
- Swift - 多个mask的动画效果
Swift - 多个mask的动画效果 效果 源码 https://github.com/YouXianMing/Swift-Animations // // TranformFadeView.swi ...
- Swift - 用UIScrollView实现视差动画效果
Swift - 用UIScrollView实现视差动画效果 效果 源码 https://github.com/YouXianMing/Swift-Animations // // MoreInfoVi ...
- [Swift通天遁地]五、高级扩展-(11)图像加载Loading动画效果的自定义和缓存
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Swift 带有动画效果的TabBarItem
额...貌似挺长时间没有总结新知识了,最近在看swift,之前swift刚出来的时候大体看了一遍,后来时间长了没看加之swift2.0做了比较大的调整,公司项目也不是用swift写的,也就没怎么看了, ...
- Swift - 使用CABasicAnimation实现动画效果
1,CABasicAnimation类只有三个属性: fromValue:开始值 toValue:结束值 Duration:动画的时间 2,通过animationWithKeyPath键值对的方式设置 ...
- swift中实现cell中局部播放的动画效果
在cell中 // 播放器动画效果 private var replicatorLayer:ReplicatorLayer = { let layer = ReplicatorLayer.init(f ...
- swift 动画合集
本例参照objective-c的动画合集进行swift的转换,objective-c地址参照地址https://github.com/yixiangboy/IOSAnimationDemo 1.基础动 ...
- Swift动画编程指南-01 简介
大家好,我是老镇,这段时间家里和工作上发生了很多的事情,所以很长一段时间都没有出来搞什么小动作了.在接下来的一段时间内我会制作一些列关于使用Swift进行动画编程的视频,希望和大家胃口. 在iOS的世 ...
随机推荐
- dubbo注册zookeeper保错原因
我的zookeeper是安装在本地,用的默认端口2181,版本3.4.10.dubbo版本2.5.8.dubbo-demo-provider.xml配置文件修改为:<dubbo:registry ...
- SimpleDateFormat转换时间,12,24时间格式
Date d = new Date(); SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//1 ...
- Python2 获取两日期之间的每一天
import datetime def getEveryDay(begin_date,end_date): date_list = [] begin_date = datetime.datetime. ...
- JVM致命错误日志(hs_err_pid.log)分析(转载)
当jvm出现致命错误时,会生成一个错误文件 hs_err_pid<pid>.log,其中包括了导致jvm crash的重要信息,可以通过分析该文件定位到导致crash的根源,从而改善以保证 ...
- python生成二维数组
Array= [[0 for i in range(15)] for i in range(15)]
- iOS拦截导航栏返回按钮事件的正确方式(二)
当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然 ...
- iOS菊花加载圈
自定制一个继承于UIView的类然后重写initWithFrame方法;如下 - (id)initWithFrame:(CGRect)frame { self = [super initWithFra ...
- 基于CSS3自定义发光radiobox单选框
之前我们分享过一些CSS3和HTML5实现的自定义checkbox和Radiobox,比如纯CSS3美化Checkbox和Radiobox按钮,不仅外观唯美,而且Radiobox选中时还有动画效果.今 ...
- 【C#/WPF】用Thumb做可拖拽的UI控件
需求:简单的可拖拽的图片 使用System.Windows.Controls.Primitives.Thumb类 前台: <Canvas x:Name="g"> < ...
- Quartz 与 Spring集成
http://www.cnblogs.com/pigwing/archive/2011/07/12/2104002.html http://blog.arganzheng.me/posts/quart ...