录音麦克风环形动画

65.jpg

项目中需要录音功能,点击录音的时候会有一个环形渐变的图形围绕麦克风转圈的动画。


Paste_Image.png

实现起来并不困难,我的思路如下:
1、自定义一个RecordView层。该层包含了 麦克风图标 和 环形转圈的动画Layer层。
2、添加一个单击、长按手势。
3、使用 CABasicAnimation 动画来实现 环形图形的转圈效果。
4、将动画开始和结束时的事件通过 Delegate 传递到上层。

部分代码如下:
动画开始

- (void) startAnimation{
    self.isAnimation = YES;
    CABasicAnimation* rotationAnimation =
    [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];//"z"还可以是“x”“y”,表示沿z轴旋转
    rotationAnimation.toValue = [NSNumber numberWithFloat:(2 * M_PI)];
    rotationAnimation.duration = 1.0f;
    rotationAnimation.repeatCount = NSIntegerMax;
    rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
    [self.anmationLayer addAnimation:rotationAnimation forKey:@"rotation"]  ;
    if (self.delegate && [self.delegate respondsToSelector:@selector(startRecord:)]) {
        
        [self.delegate startRecord:self];
    }
    

}

动画结束

- (void) endAanimation{

    self.isAnimation = NO;
    [self.anmationLayer removeAnimationForKey:@"rotation"];
    
    if (self.delegate && [self.delegate respondsToSelector:@selector(endRecord:)]) {
        [self.delegate endRecord:self];
    }
}

总结: 这个效果并不难实现 主要是对 动画层的熟悉和应用 。
关于动画下面这个教程详细的介绍了ios上各种动画的正确的打开方式
https://zsisme.gitbooks.io/ios-/content/
另附Demo的下载地址 :https://github.com/githubliuming/QYRecordView

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,500评论 4 61
  • 红色的皮肤是外裹的,剥开 通身幽蓝,晃眼的腰封一次次,捶击 26个春夏秋冬,以及,消融彤目霾色的夜空 星辰与月亮此...
    938377db52e3阅读 1,715评论 3 1
  • 自古都用父爱如山来形容深邃和沉重的父爱,似乎父爱不需要太多言语便能潜移默化地影响孩子的心灵成长,在孩子的眼中,男孩...
    黑白镜阅读 1,747评论 6 3
  • 最近有不少同学询问我曾经做过的快递业务,所以决定写一篇日志回顾下随心驿站的故事,用以交流和分享。 特别说明:项目为...
    镇雷阅读 4,114评论 4 17

友情链接更多精彩内容