加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 如何使用uiview动画完全旋转圆形对象

发布时间:2020-12-14 18:57:00 所属栏目:百科 来源:网络整理
导读:我试图循环部分圆圈以实现动画但它只转动180度,然后再从0度开始到180度.因此从180度突然跳到360度.如何在没有任何跳跃的情况下让我的圆形图像对象连续旋转?这是我目前的代码: UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear|UIViewAn
我试图循环部分圆圈以实现动画但它只转动180度,然后再从0度开始到180度.因此从180度突然跳到360度.如何在没有任何跳跃的情况下让我的圆形图像对象连续旋转?这是我目前的代码:

UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear|UIViewAnimationOptionRepeat;

    [UIView animateWithDuration:ROTATE_ANIMATION_DURATION/2 delay:0 options:options 
       animations:^{
           view.transform = CGAffineTransformRotate(transform,M_PI);}//1st step of animation finished
       completion:^(BOOL finished) {
             [UIView animateWithDuration:ROTATE_ANIMATION_DURATION/2 delay:0 options:options 
                animations:^{
                    view.transform = CGAffineTransformRotate(transform,M_PI);} //2nd step of animation finished
                completion:^(BOOL finished) {nil;
                }];

解决方法

旋转UI对象,动画旋转360度
您需要将QuartzCore Framework添加到您的项目中并包含

#import QuartzCore/QuartzCore.h

为对象添加动画:

CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    fullRotation.fromValue = [NSNumber numberWithFloat:0];
    fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
    fullRotation.duration = 6;
    fullRotation.repeatCount = 1e100f;
    [myview.layer addAnimation:fullRotation forKey:@"360"];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读