MotionAnimation

使用MotionAnimation结构为任何视图制作动画。

Background Color

将视图的当前背景颜色动画为给定的颜色。

.background(color: UIColor)
Border Color

将视图的当前边框颜色动画为给定的颜色。

.border(color: UIColor) 
Border Width

将视图的当前边框宽度动画到给定的宽度。

.border(width: CGFloat)
Corder Radius

将视图的当前角半径动画到给定的半径。(圆角半径)

.corner(radius: CGFloat)
Transform

将视图的当前变换(透视,缩放,旋转)动画化为给定的变换。

.transform(_ transform: CATransform3D)
Rotate

旋转动画使用360度间隔旋转给定轴周围的视图或图层。例如,旋转180度将使视图围绕给定轴旋转半个间隔。

X Axis, Y Axis, Z Axis

将视图的当前旋转动画到给定的x,y和z值。x,y和z轴动画是通用配置。

.rotate(x: CGFloat, y: CGFloat, z: CGFloat)
Touch

将视图的当前旋转动画到给定的点和z值。当用户触发触摸或手势事件时,通常会使用点和z轴动画。

.rotate(_ point: CGPoint, z: CGFloat)
2D

动画化视图围绕z轴的旋转,这是一个2D视角。

.rotate(_ z: CGFloat)
Spin

旋转动画旋转一个视图或一个给定的轴周围整圈的时间间隔。例如,旋转0.5将围绕给定轴旋转视图半个间隔。

X Axis, Y Axis, Z Axis

将视图的当前旋转动画到给定的x,y和z值。x,y和z轴动画是通用配置。

.spin(x: CGFloat, y: CGFloat, z: CGFloat)
Touch

将视图的当前旋转动画到给定的点和z值。当用户触发触摸或手势事件时,通常会使用点和z轴动画。

.spin(_ point: CGPoint, z: CGFloat)
2D

动画视图围绕z轴旋转,这是一个2D视角。

.spin(_ z: CGFloat)
Scale

将视图的当前比例缩放为给定的x,y和z比例值。

.scale(x: CGFloat, y: CGFloat, z: CGFloat)

将视图的当前x&y比例缩放为给定比例值。

.scale(_ xy: CGFloat)
Translate

动画的视图等于由x,y和z值给出的距离。

.translate(x: CGFloat, y: CGFloat, z: CGFloat)

动画视图等于点和z值给定的距离。

.translate(_ point: CGPoint, z: CGFloat)
Position

将视图的当前位置动画到给定点。

.position(_ point: CGPoint)
Fade

Fade In

在动画中淡入视图。

.fadeIn

Fade Out

在动画中淡出视图。

.fadeOut
Dynamic Fade

动画视图当前的不透明度给定的。

.fade(_ opacity: Double)
Z Position

将视图的当前zPosition动画到给定的zPosition。

.zPosition(_ position: CGFloat)
Size

将视图的当前大小动画到给定的大小。

.size(_ size: CGSize)
Shadow Path

将视图的当前阴影路径动画到给定的阴影路径。

.shadow(path: CGPath)
Shadow Color

将视图的当前阴影颜色动画到给定的阴影颜色。

.shadow(color: UIColor)
Shadow Offset

将视图的当前阴影偏移动画到给定的阴影。

.shadow(offset: CGSize)

如果正在使用Material,则可以使用Offset类型。

.shadow(offset: Offset)
Shadow Opacity

将视图的当前阴影不透明度动画到给定的阴影。

.shadow(opacity: Float)
Shadow Radius

将视图的当前阴影半径动画到给定的半径。

.shadow(radius: CGFloat)
Depth

使用原始值动画影片偏移,不透明度和半径的视图。

.depth(offset: CGSize, opacity: Float, radius: CGFloat)

使用元组来动画视图阴影偏移,不透明度和半径。

.depth(_ depth: (CGSize, Float, CGFloat))

如果正在使用(Material)材质,则可以使用Depth enum或type。

使用DepthPreset枚举值动画视图阴影偏移,不透明度和半径。

.depth(_ preset: DepthPreset)

使用Depth实例动画影片偏移,不透明度和半径的视图。

.depth(_ depth: Depth)
Spring

您通常会使用弹簧动画来激活视图的位置,使其看起来像被弹簧拉向目标。目标越远,对目标的加速越大。

弹簧允许控制基于物理的属性,如弹簧的阻尼和刚度。

  • stiffness - 弹簧刚度系数.
  • damping - 定义弹簧运动如何由于摩擦力而被阻尼.
.spring(stiffness: CGFloat, damping: CGFloat)
Duration

视图动画的持续时间。如果使用0的持续时间,则该值将被转换为0.01,以接近零值。

.duration(_ time: TimeInterval)
Delay

延迟给定视图的动画。

.delay(_ time: TimeInterval)
Timing Function

设置动画的视图定时功能。

.timingFunction(_ timingFunction: CAMediaTimingFunction)
Completion

创建动画完成后执行的完成块处理程序。

.completion(_ execute: @escaping () -> Void)

使用完成处理程序的另一种方法是传入一个MotionAnimations数组,然后在函数调用的最后添加一个回调处理程序。例如:

view.animate([.delay(1), .duration(0.5), .translate(x: 50, y: 100), .background(color: Color.cyan.base)]) { [weak self] in
    // Do something, animation has completed.
}

你可能感兴趣的:(MotionAnimation)