DSControls
文档
UIView动画
DSViewOneAnimation
一个动画块项
DSVAnimation(0.4,^{
view.alpha = 0;
},^(BOOL finished){}).run;
DSVAnimation_Delay(0.5, 1, UIViewAnimationOptionCurveEaseIn, ^{
view1.alpa = 1;
view2.frame = CGRectMake(0, 0, 320, 50);
}, ^(BOOL result){});
DSVAnimation_Full(0.5, 1, UIViewAnimationOptionCurveEaseIn, 0.5, 0.5, ^{
view1.alpa = 1;
view2.frame = CGRectMake(0, 0, 320, 50);
}, ^(BOOL result){}).run;
您还可以使用类方法——
+(DSViewOneAnimation*)animationWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay animationOptions:(UIViewAnimationOptions)options actionBlock:(DSStartAnimationBlock)action finishBlock:(DSCompleteAnimationBlock)finishBlock;
+(DSViewOneAnimation*)animationWithDuration:(NSTimeInterval)duration actionBlock:(DSStartAnimationBlock)action finishBlock:(DSCompleteAnimationBlock)finishBlock;
+(DSViewOneAnimation*)animationWithDuration:(NSTimeInterval)duration delay:(float)delay animationOptions:(UIViewAnimationOptions)options springDamping:(float)damping springVelocity:(float)springVelocity actionBlock:(DSStartAnimationBlock)action finishBlock:(DSCompleteAnimationBlock)finishBlock;
创建动画后,您可以使用实例方法 [animation run] 运行它
DSViewAnimationSequence
动画序列,逐个执行所有动画。所有动画完成后将调用回调和
-(void)addAnimation:(__kindof DSViewBaseAnimation*)anim;
创建序列
DSVASequence(animation,...)
或者使用类方法。
+(DSViewAnimationSequence*)sequenceWithAnimations:(__kindof DSViewBaseAnimation*)animations,... NS_REQUIRES_NIL_TERMINATION;
创建动画后,您可以使用实例方法 [animation run] 运行它
- 注意:您可以在序列中添加 DSViewOneAnimation、DSViewAnimationSequence 和 DSViewGroupAnimation 作为动画。
DSViewGroupAnimation
动画小组。同时运行所有动画。当最长动画运行完毕时将调用回调(注意:最长动画由 animation.fullDuration 计算得出)
使用实例方法将动画添加到序列中
-(void)addAnimation:(__kindof DSViewBaseAnimation*)anim;
创建序列
DSVAGroup(animation,...)
或者使用类方法。
+(DSViewGroupAnimation *)groupWithAnimations:(__kindof DSViewBaseAnimation *)animations, ... NS_REQUIRES_NIL_TERMINATION;
创建动画后,您可以使用实例方法 [animation run] 运行它
注意:可以将 DSViewOneAnimation、DSViewAnimationSequence 和 DSViewGroupAnimation 用作小组中的动画
DSViewAnimationStack
逐个运行动画,先进先出。您可以手动创建它,或使用实例方法获取每个UIView实例
[UIView -(DSViewAnimationsStack*)defaultAnimationsStack];
或者使用实例方法直接将动画推送到实例栈
[UIView -(void)pushAnimationToStack:(__kindof DSViewBaseAnimation*)animation];
您可以使用类方法为每个UIView添加一个以上的动画栈实例
[UIView +(DSViewAnimationsStack*)animationsStackForView:(UIView*)view withName:(NSString*)name];
将动画添加到栈中
[DSViewAnimationsStack -(void)pushAnimation:(__kindof DSViewBaseAnimation*)animation];
注意:如果当前没有活动动画,栈中的动画将在添加到栈后立即开始
注意:可以将 DSViewOneAnimation、DSViewAnimationSequence 和 DSViewGroupAnimation 用作小组中的动画
CALayerAnimations
示例
要运行示例项目,请首先克隆存储库,并从示例目录运行 pod install
。
需求
安装
DSControls 是通过 CocoaPods 提供的。要安装它,只需将以下行添加到您的 Podfile 中
pod 'DSControls'
作者
DimasSup, [email protected]
许可协议
DSControls可在MIT许可协议下使用。有关更多信息,请参阅LICENSE文件。