当前位置:K88软件开发文章中心编程语言APP编程CrossApp → 文章内容

CAViewAnimation(动画实现)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 13:52:50

, void* context){ CALabel* label = (CALabel*)context; if (label) { label->setRotation(180); }}这个样我们就可以获得Label并改变其属性,当然我们可以传入其他类型的参数。组合动画1同时执行默认情况下,CAView的属性变化写在一对beginAnimations()和commitAnimations()直接,这些所有的变化将是同时执行。2顺序执行方法一:延时利用延时,在上一个Animation时间结束后,再执行下一个Animation。//第一个AnimationCAViewAnimation::beginAnimations("", NULL); CAViewAnimation::setAnimationDuration(1.8); label->setRotation(180); CAViewAnimation::commitAnimations(); //第二个AnimationCAViewAnimation::beginAnimations("", NULL); CAViewAnimation::setAnimationDuration(2.8);CAViewAnimation::setAnimationDelay(1.8);//延时1.8秒 label->setScale(5); CAViewAnimation::commitAnimations();方法二:回调利用Animation的介绍回调CAViewAnimation::beginAnimations("animation1", NULL);//开始 /**CAView属性的改变:缩放、位置、旋转、透明度等等.*例如:label->setScale(5);*/ //结束回调,在Animation结束时调用CAViewAnimation::setAnimationDidStopSelector(this, CAViewAnimation0_selector(FirstViewController::callbackStopAnimation0)); CAViewAnimation::commitAnimations();//结束 在回调函数里实现另一个Animationvoid FirstViewController::callbackStopAnimation0(){    CAViewAnimation::beginAnimations("NextAnimation", NULL);//开始         /*    *CAView属性的改变:缩放、位置、旋转、透明度等等.    *例如:label->setRotation(180);    */         CAViewAnimation::commitAnimations();//结束}CAViewAnimation 方法static void beginAnimations(const std::string& animationID, void* context);返回值:void参数:类型参数名说明const std::string&animationID动画标识符void*context用于回调函数的参数,一般为NULL解释:表示动画开始static void commitAnimations();返回值:void参数:解释:表示动画结束static void setAnimationDuration(float duration);返回值:void参数:类型参数名说明floatduration动画时间解释:动画所用的时间,默认为0.2秒static void setAnimationDelay(float delay);返回值:void参数:类型参数名说明floatdelay延迟时间解释:动画延时多长时间后开始播放,默认为0秒static void setAnimationCurve(const CAViewAnimationCurve& curve);返回值:void参数:类型参数名说明CAViewAnimationCurve&curve曲线解释:设置动画的曲线方式(就是动画的总体变化的时间曲线:开始快最后慢,开始慢最后快,最后慢,均匀线性)typedef enum{    CAViewAnimationCurveLinear = 0,       // 均匀线性    CAViewAnimationCurveEaseOut,          // 结束时缓慢    CAViewAnimationCurveEaseIn,           // 开始时缓慢    CAViewAnimationCurveEaseInOut         // 开始和结束时都慢,中间快}CAViewAnimationCurve;static void setAnimationRepeatCount(float repeatCount);返回值:void参数:类型参数名说明floatrepeatCount重复次数解释:动画的重复次数,默认1次static void setAnimationRepeatAutoreverses(bool repeatAutoreverses);返回值:void参数:类型参数名说明boolrepeatAutoreverses动画结束后,是否执行反向动作解释:动画结束后,是否执行反向动作,默认为falsestatic void setAnimationWillStartSelector(CAObject* target, SEL_CAViewAnimation0 selector);返回值:void参数:类型参数名说明CAObject* target目标SEL_CAViewAnimation0selector选择器解释:动画开始时,调用SEL_CAViewAnimation0函数,SEL_CAViewAnimation0函数是一个无参数的函数 static void setAnimationWillStartSelector(CAObject* target, SEL_CAViewAnimation2 selector);返回值:void参数:类型参数名说明CAObject* target目标SEL_CAViewAnimation2selector选择器解释:动画开始时,调用SEL_CAViewAnimation2函数,SEL_CAViewAnimation2函数是一个有两个参数的函数,分别是const std::string& animationID和void* context   static void setAnimationDidStopSelector(CAObject* target, SEL_CAViewAnimation0 selector);返回值:void参数:类型参数名说明CAObject*target目标SEL_CAViewAnimation0selector选择器解释:动画结束时,调用SEL_CAViewAnimation0函数,SEL_CAViewAnimation0函数是一个无参数的函数static void setAnimationDidStopSelector(CAObject* target, SEL_CAViewAnimation2 selector);返回值:void参数:类型参数名说明CAObject*target目标SEL_CAViewAnimation2selector选择器解释:动画结束时,调用SEL_CAViewAnimation2函数,SEL_CAViewAnimation2函数是一个有两个参数的函数,分别是const std::string& animationID和void* contextstatic void removeAnimations(const std::string& animationID);返回值:void参数:类型参数名说明const std::string&animationID动画标识符解释:根据animationID移除对应的动画static void removeAnimationsWithView(CAView* view);返回值:void参数:类型参数名说明CAView*viewView动画解释:移除对应的CAView的动画static void setAnimationsEnabled(bool enabled);返回值:void参数:类型参数名说明boolenabled是否启用解释:设置是否禁用动画效   static bool areAnimationsEnabled();返回值:void参数:解释:动画是否被禁用static bool areBeginAnimations();返回值:void参数:解释:动画是否开始执行static bool areBeginAnimationsWithID(const std::string& animationID);返回值:void参数:类型参数名说明const std::string&animationID动画标识符解释:对应的animationID的动画是否开始执行

上一页  [1] [2] 


CAViewAnimation(动画实现)