美文网首页
2021-12-07

2021-12-07

作者: d_dong_q | 来源:发表于2021-12-07 10:54 被阅读0次

随机轮流翻转动画

要写一个随机的轮流翻转的动画,于是参照网上的修修改改,记录一下

//frameView父视图 images图片集合

//轮流翻转

/**

 * 翻转动画

 */

- (void)layerRotation:(UIView*)frameView list:(NSArray*)images {

    //随机数

    NSInteger  index = [ETUtilsToolgetRandomNumber:0to:images.count-1];

    WEAKSELF;

    for(inti=0; i < images.count; i++) {

        if(i == index) {

            UIImageView* imageV = [frameViewviewWithTag:100+ i];

            [self addLayerRotationWithImageV:imageV];

        }

    }

    ///第一次切换图片

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(1.0* NSEC_PER_SEC)),dispatch_get_main_queue(),^{

        for(inti =0; i < images.count; i++) {

            if(i == index) {

                UIImageView* imageV = [frameViewviewWithTag:100+ i];

                [weakSelf changeImg:imageV str:images[i]];

            }

        }

    });

    ///循环动画

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(5.0* NSEC_PER_SEC)),dispatch_get_main_queue(),^{

        [weakSelf layerRotation:frameView list:images];

    });

}

- (void)changeImg:(UIImageView*)imageV str:(NSString*)str

{

    if([imageV.image isEqual:[UIImage imageNamed:@"Classify_icon"]]) {

        [imageVsd_setImageWithURL:[NSURL URLWithString:str]];

    }else{

        imageV.image= [UIImage imageNamed:@"Classify_icon"];

    }

}

- (void)addLayerRotationWithImageV:(UIImageView *)imageV {

    CAKeyframeAnimation *keyAnimation = [CAKeyframeAnimation animation];

    // 旋转角度, 其中的value表示图像旋转的最终位置

    keyAnimation.values= [NSArrayarrayWithObjects:

                           [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0,1,0)],

                           [NSValue valueWithCATransform3D:CATransform3DMakeRotation((M_PI/2), 0,1,0)],

                           [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0,1,0)],

                           [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0,1,0)],

                           nil];

    keyAnimation.keyTimes = @[@(0),@(0.2),@(0.4),@(1.0)];//每一个的取值范围是0-1

    keyAnimation.duration=5.0;

    keyAnimation.repeatCount=1;

    [imageV.layeraddAnimation:keyAnimationforKey:@"transform"];

}

//参照:https://www.jianshu.com/p/12e973669a68

相关文章

  • 恩波利面对乌迪内斯,能否躲过平局困境。阿森纳有望吊打埃弗顿

    周一001意甲:恩波利 VS 乌迪内斯 比赛时间:2021-12-07 01:30 恩波利:恩波利本赛季重回意甲后...

  • 随笔(497)《不会再真》

    原创 老区游子 游子岁月 2021-12-07 21:58 收录于话题 #生活记忆 记忆生活 7 个内容 #张家界...

  • 换位思考,从读者的角度写文章

    2021-12-07 人们上网搜索文章,不是为了消遣而是为了找到对自己有用的专业文章,或者能够缓解自己压力。 认识...

  • 2021-12-07周二

    2021-12-07 每日复盘 早上起来,煮个白粥,蒸鸡蛋。洗漱,护肤,换衣服,带着早餐出门。 中午下班后,回来炒...

  • 93/100 通用路径

    2021-12-07 当在工程上发现某个材料问题时,一定要保持谨慎的态度,如果不在使用前论证清楚,那么有可能发展为...

  • 真诚的赞美

    幸福日志2021-12-07 周二晴 儿子写作业,我就随手翻阅桌上的书,是戴尔卡耐基的《人性的弱点》,这本不贵的小...

  • 远离焦虑

    2021-12-07 周二 晴 今天周二,最高气温15度,很暖和。昨天17度穿了羽绒服,下车时感觉自己已经出汗...

  • 随记:

    2021-12-07 周二 晴 今天一来到学校 倍感舒爽与惬意。 近段,我俩总喜欢关着门对着窗晒️太阳,也许是...

  • 视差:美国与东亚的关系

    2021-12-07 下午下课去图书馆还了两本书,正准备回工作室,脚步不知怎么一顿,就留了下来。找了个沙发,歪着躺...

  • 《通天之路:李白传》笔记

    2021-12-07 李白之死的一个说法是他酒后为追逐月亮而跳入水中溺死,这个近乎自杀的场景反映了李白对月亮的偏爱...

网友评论

      本文标题:2021-12-07

      本文链接:https://www.haomeiwen.com/subject/vkioxrtx.html