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入口:传送门