zoukankan      html  css  js  c++  java
  • 实现类似微信语音播放动画的效果

    要求就是点击播放按钮,小喇叭开始动,当语音结束后,停止动画。如图:

    这需要用到UIImageView的帧动画,该动画可以让一系列图片在特定的时间内按顺序显示出来。需要的素材如下:

    audio_icon_1

    *****分割线*****

    audio_icon_2

    *******分割线*******
    audio_icon_3

    代码如下:

    // 添加播放时候的动画图片
    [_audioBtn addSubview:self.animationview];
    [_audioBtn setImage:[UIImage imageNamed:@"audio_icon_3"] forState:UIControlStateNormal];
    _audioBtn.userInteractionEnabled = YES;
    //动画的imageview
    - (UIImageView *)animationview{
        if (!_animationview) {
            _animationview = [[UIImageView alloc] initWithFrame:CGRectMake(11.25, 5, 15, 15)];
            NSArray *myImages = [NSArray arrayWithObjects: [UIImage imageNamed:@"audio_icon_3"],[UIImage imageNamed:@"audio_icon_1"],[UIImage imageNamed:@"audio_icon_2"],[UIImage imageNamed:@"audio_icon_3"],nil];
            
            _animationview.animationImages = myImages;
            _animationview.animationDuration = 1; 
            _animationview.animationRepeatCount = 0; //动画重复次数,0表示无限循环 
        }
        return _animationview;
    }

    点击按钮的事件

    //点击播放按钮时,动画开始
    [self.animationview startAnimating];
    [self.audioBtn setImage:nil forState:UIControlStateNormal];
    //在语音结束后,停止动画
    [self.animationview stopAnimating];
    [self.audioBtn setImage:[UIImage imageNamed:@"audio_icon_3"] forState:UIControlStateNormal];
  • 相关阅读:
    在python中添加自定义模块
    jquery图片延时加载
    java的内部类与匿名类
    Oracle数据库优化器的优化方式
    JS实现画线(兼容所有浏览器)
    Ext中window的用法
    关于工作流WEB设计器的一些问题
    ORACLE EBS 价目表的导入功能存储过程BUG
    EXT编程实现人员信息的添加
    用户交互式垃圾回收机制
  • 原文地址:https://www.cnblogs.com/Apologize/p/4895489.html
Copyright © 2011-2022 走看看