动画
jackyMon
这个作者很懒,什么都没留下…
展开
-
iOS动画:开始篇(1)
本篇主要介绍iOS中一些基本的动画实现方法。UIView.animate(withDuration: 0.5) { self.heading.center.x += self.view.bounds.width}调用UIView的类方法 animate(withDuration:animations:) 后动画立刻开始,并执行0.5秒UIView.animate(withDura...原创 2019-04-26 18:37:57 · 247 阅读 · 0 评论 -
iOS动画:复制图层(10)
语音输入时,有没有考虑过下面两种波浪形动画是怎么生成的呢?没错,它就是我们今天需要了解的,图层复制动画CAReplicatorLayer。原创 2019-05-06 18:26:15 · 304 阅读 · 0 评论 -
iOS动画:UIViewPropertyAnimator动画之ViewController Present过渡(17)
静态ViewController过渡动画首先实现一个present的自定义动画。创建PresentTransition,实现UIViewControllerAnimatedTransitioning协议:import UIKitclass PresentTransition: NSObject, UIViewControllerAnimatedTransitioning { func...原创 2019-05-09 16:50:35 · 432 阅读 · 0 评论 -
iOS动画:3D动画(18)
根据图示创建动画,当点击菜单按钮时,需要显示左侧菜单栏效果看起来就像一个3D动画。现在我们来实现这种效果。打开工程中的ContainerViewController.swift,创建3D变换函数: func menuTransform(percent: CGFloat) -> CATransform3D {//percent表示菜单显示的百分比进度 var id...原创 2019-05-09 19:54:13 · 51162 阅读 · 0 评论 -
iOS动画:多个视图的3D动画(19)
通过这章,你将实现如下的相册效果:在viewDidApear中添加卡片: for image in images { image.layer.anchorPoint.y = 0.0 image.frame = view.bounds view.addSubview(image) } navigation...原创 2019-05-09 20:53:00 · 379 阅读 · 0 评论 -
iOS动画:ViewController过渡动画之Presentation Controller和Orientation动画(11)
Presentation Controller我们来改变系统自带的present动画,主要用到UIViewControllerTransitioningDelegate的代理方法animationController(forPresented:presenting:source:),该代理方法需要返回一个UIViewControllerAnimatedTransitioning的可选对象,当返回...原创 2019-05-07 16:40:05 · 593 阅读 · 0 评论 -
iOS动画:ViewController过渡动画之UINavigationController转场动画(12)
和前一章类似,仅仅是代理方法的不同。主要用到UINavigationControllerDelegate的代理方法navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationControllerOperation, from f...原创 2019-05-07 17:54:17 · 742 阅读 · 0 评论 -
iOS动画:ViewController过渡动画之带交互的UINavigationController转场动画(13)
和前一章类似,交互式转场动画仅仅是代理方法的不同。通过手势滑动设置动画的进度。我们来创建一个动画构造器,需要用到苹果内置的动画构造类UIPercentDrivenInteractiveTransition(这是一个类,不是协议,继承时放在第一个位置)。class RevealAnimator: UIPercentDrivenInteractiveTransition, UIViewContro...原创 2019-05-07 20:48:59 · 416 阅读 · 0 评论 -
iOS动画:粒子发射器(20)
我们来实现这种下雪的粒子效果要创建粒子发射器的动画,需要用到一个新的layer:CAEmitterLayer在viewDidLoad中创建emitter对象 let rect = CGRect(x: 0.0, y: 100.0, width: view.bounds.width, height: 50.0) let emitter = CAEmitterLayer() ...原创 2019-05-11 18:38:06 · 1244 阅读 · 0 评论 -
iOS动画:UIViewPropertyAnimator动画之交互(16)
1原创 2019-05-09 11:43:24 · 461 阅读 · 0 评论 -
iOS动画:UIViewPropertyAnimator动画之贝塞尔曲线(15)
使用内置的curves效果前面我们一直使用的系统内置的一些curves效果,比如:linear, ease in, ease out, ease in out。打开LockScreenViewController.swift添加如下代码 func blurAnimation(_ blurred: Bool) -> () -> Void { return { ...原创 2019-05-08 20:41:05 · 1137 阅读 · 0 评论 -
iOS动画:UIViewPropertyAnimator动画(14)
1原创 2019-05-08 14:19:08 · 281 阅读 · 0 评论 -
iOS动画:UIKit关键帧动画(2)
1原创 2019-04-26 18:45:15 · 220 阅读 · 0 评论 -
iOS动画:Layer动画(3)
首先介绍一下CALayer的一些属性。bounds: 图层大小position: 图层中心点的位置,类似与UIView的center;用来设置CALayer在父层中的位置;以父层的左上角为原点(0,0)transform: 用于图层的移动、缩放、旋转等borderColor: 图层边框颜色borderWidth: 图层边框宽度cornerRadius: 图层圆角半径shadowOff...原创 2019-04-26 18:46:05 · 665 阅读 · 0 评论 -
iOS动画:Layer的Key-Value和动画代理(4)
先介绍一下CAAnimation的代理方法。CAAnimationDelegate有两个可选代理方法:func animationDidStart(_ anim: CAAnimation)func animationDidStop(_ anim: CAAnimation, finished flag: Bool)CABasicAnimation继承至CAAnimation。它们都是使用Ob...原创 2019-04-26 18:46:36 · 341 阅读 · 0 评论 -
iOS动画:组和时间函数(5)
前面我们已经学习了如何为一个单独的layer添加一些独立的动画,现在我们来介绍动画组CAAnimationGroup,添加彼此关联的动画。CAAnimationGroup也是继承至CAAnimation,如你所想,它也有前面你所熟知的一些属性,例如:beginTime、duration、fillMode、delegate和isRemovedOnCompletion。 let group...原创 2019-04-28 10:54:23 · 537 阅读 · 0 评论 -
iOS动画:Layer弹簧(6)
UIKit和Core Animation弹簧 弹簧和摆钟类似,自然情况下,其运行轨迹都类似于一个逐渐减弱的正弦波,如图。影响波形状的因素主要4个:damping:阻尼系数mass:质量stiffness:弹性系数initial velocity:初速度当使用UIKit中的弹簧效果animate方法时,你只能配置其中的两个参数usingSpringWithDamping和initi...原创 2019-04-28 15:22:47 · 306 阅读 · 0 评论 -
iOS动画:Layer关键帧动画和结构体属性(7)
关键帧动画layer上的关键帧动画和UIView上的关键帧动画略有不同,UIView关键帧动画是将一些独立的简单动画结合起来,它可以为不同的视图和属性设置动画,动画可以重叠和间断。而CAKeyframeAnimation是为单个属性设置动画,你可以定义动画的关键点,但动画不能有任何重叠或者间断。虽然有限制,但效果会更好。创建一个关键帧动画: let wobble = CAKeyframeA...原创 2019-04-28 17:28:47 · 466 阅读 · 0 评论 -
iOS动画:Gradient渐变动画(8)
有没有想过iPhone屏幕滑动解锁动画是怎么实现的呢?没错,它就是这一节的重点。首先我们创建一个CAGradientLayer的对象gradientLayer,并为其设置起始点和结束点 gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5) gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)这...原创 2019-04-28 20:11:48 · 944 阅读 · 0 评论 -
iOS动画:Stroke和Path动画(9)
利用stroke和Path动画制作下拉刷新动画。首先创建一个虚线圆。 let ovalShapeLayer = CAShapeLayer() ovalShapeLayer.strokeColor = UIColor.white.cgColor//指定path的渲染颜色 ovalShapeLayer.fillColor = UIColor.clear.cgColor//指定圆填...原创 2019-04-29 16:39:51 · 1289 阅读 · 0 评论 -
iOS动画:UIImageView帧动画(完结)
11原创 2019-05-13 17:16:52 · 3103 阅读 · 0 评论