iOS-仿微信长按录制视频按钮效果

2020-04-29  本文已影响0人  卓敦
先上图

前言


前段时间的面试总结了不少,大部分公司都要求有视频编辑和对CAShapeLayer的开发经验,由于之前很少做这块,所以现在得去学学,一步一步慢慢来,我刚写好了录制按钮的效果,后续的写完再更新。

集成


第一种:直接把工程的ZDRecord文件夹拖进项目中
第二种:通过pod集成:pod 'ZDRecordButton', '~> 0.0.2'

使用


直接初始化,通过代理方法回调操作状态,可以进行相应的操作

#import "ZDRecordButton.h"
@interface ViewController ()<ZDOperationActionDelegate>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    ZDRecordButton *rManager = [[ZDRecordButton alloc] initWithFrame:CGRectMake(([UIScreen mainScreen].bounds.size.width - 80) / 2, [UIScreen mainScreen].bounds.size.height - 120, 80, 80)];
    rManager.delegate = self;
    //进度条颜色
    rManager.progressColor = [UIColor blueColor];
    [self.view addSubview:rManager];
}

#pragma ZDOperationActionDelegate
- (void)didOperationStateChange:(ZDOperationActionState)state {
    switch (state) {
        case ZDOperationStateClick: {
            NSLog(@"点击");
        }
            break;
        case ZDOperationStateBegan: {
            NSLog(@"开始");
        }
            break;
        case ZDOperationStateLongPress: {
            NSLog(@"长按");
        }
            break;
        case ZDOperationStateMoving: {
            NSLog(@"移动中");
        }
            break;
        case ZDOperationStateWillCancel: {
            NSLog(@"松手就取消");
        }
            break;
        // 完成
        case ZDOperationStateDone: {
            NSLog(@"完成");
        }
            break;
        case ZDOperationStateCancel: {
            NSLog(@"取消");
        }
            break;
        default:
            break;
    }
}

自定义颜色


外圆、内圆、进度条颜色、录制时长都可以自定义修改


自定义颜色

通过以下开放的属性进行自定义即可

/*
*
* 进度条颜色,默认绿色
*/
@property (nonatomic, strong)UIColor *progressColor;
/*
*
* 外面圆形颜色,默认浅灰色
*/
@property (nonatomic, strong)UIColor *outCircleColor;
/*
*
* 中间圆形颜色,默认白色
*/
@property (nonatomic, strong)UIColor *centerCircleColor;
/*
*
* 倒计时时间,默认15秒
*/
@property (nonatomic, assign)float timeInterval;

结束


开发那么久都没有在GitHub发布过作品,干脆写一个简单的控件发布一下。毕竟苍蝇再小也是肉啊。
第一次发布开源作品,有写的不好的地方或者有什么建议的,欢迎指出,谢谢。

GitHub入口:传送门

上一篇 下一篇

猜你喜欢

热点阅读