RazzleDazzle是IFTTT开源的一个iOS帧动画框架,用Swift编写,非常适用于APP初次使用时的介绍和引导信息。RazzleDazzle由IFTTT此前开源的一款Objective-C滚动帧动画库JazzHands发展而来。JazzHands是UIKit一个简单的关键帧基础动画框架,可通过手势、scrollview、KVO或者ReactiveCocoa控制动画,被IFTTT应用在IFTTT for iPhone上。多款知名应用程序都使用了JazzHands这个框架,目前其在github上有3688个star。对于RazzleDazzle,开发者除了使用RazzleDazzle支持的动画类型外,还可以使用自定义动画类型。
RazzleDazzle支持的动画类型:
-
AlphaAnimationanimates thealphaproperty (creates fade effects).
-
BackgroundColorAnimationanimates thebackgroundColorproperty.
-
RotationAnimationanimates a rotation transform (for rotation effects).
-
ScaleAnimationapplies a scaling transform (to scale view sizes).
-
TranslationAnimationapplies a translation transform (to translate view position).
-
CornerRadiusAnimationanimates thelayer.cornerRadiusproperty.
-
HideAnimation animates the hidden property (hides and shows views).
-
LayerStrokeStartAnimationanimates thestrokeStartproperty of aCAShapeLayer(does not work with LayerStrokeEndAnimation).
-
LayerStrokeEndAnimationanimates thestrokeEndproperty of aCAShapeLayer(does not work with LayerStrokeStartAnimation).
-
LayerFillColorAnimationanimates thefillColorproperty of aCAShapeLayer.
-
LayerStrokeColorAnimationanimates thestrokeColorproperty of aCAShapeLayer.
-
PathPositionAnimationanimates thelayer.positionproperty of aUIViewalong a path.
-
LabelTextColorAnimationanimates thetextColorproperty of aUILabel.
-
ConstraintConstantAnimationanimates anAutoLayoutconstraint constant.
-
ConstraintMultiplierAnimationanimates anAutoLayoutconstraint constant as a multiple of an attribute of another view (to offset or resize views based on another view's size)
-
ScrollViewPageConstraintAnimationanimates anAutoLayoutconstraint constant to place a view on a scroll view page (to position views on a scrollView using AutoLayout). This is the animation doing the heavy lifting forAnimatedPagingScrollViewController'skeepView(view: onPage:)function.