一个针对 iOS 的自定义音频圆形进度条,你可以按需自定义其大小、背景圆形颜色、进度圆形颜色以及圆形宽度。
一个iOS圆形进度条开源库,你可以定制它的大小、进度条背景色和前景色以及进度条的宽度。
现在你可以拖动进度到精确的位置进行播放。
现在支持拖动进度以便精确控制播放进度。
1. 将 AVFoundation.framework 框架添加到你的项目中。
1. 在工程项目中加入AVFoundation.framework框架。
2. 将 "CircularProgressView.h" 和 "CircularProgressView.m" 文件拖拽到你的项目目录。
2. 将“CircularProgressView.h“和”CircularProgressView.m“文件拖拽至工程目录。
首先在你的 ViewController 中导入 CircularProgressView.h
头文件,并创建一个CircularProgressView属性来保存引用
首先在你的 ViewController 中导入 CircularProgressView.h
头文件并且新建一个圆形进度条属性来作为一个引用
@property (nonatomic) CircularProgressView *circularProgressView;
然后你可以通过 Interface Builder 或代码的方式创建圆形进度条。
之后你可以通过Interface Builder方式或者写代码的方式新建一个圆形进度条。
1. 通过 Interface Builder 建立
1. 通过Interface Builder建立
在你的 Xib 或 Storyboard 文件中放置一个 UIView 对象,将其类名修改为 CircularProgressView
在你的Xib或者故事版文件中放下一个UIView对象,修改它的类名为CircularProgressView
然后如下方式在 viewDidLoad 方法中定义圆形进度条的属性
之后如下方式在viewDidLoad方法中定义圆形进度条的属性
self.circularProgressView.backColor = [UIColor colorWithRed:236.0 / 255.0
green:236.0 / 255.0
blue:236.0 / 255.0
alpha:1.0];
self.circularProgressView.progressColor = [UIColor colorWithRed:82.0 / 255.0
green:135.0 / 255.0
blue:237.0 / 255.0
alpha:1.0];
self.circularProgressView.audioURL = [[NSBundle mainBundle] URLForResource:@"我的歌声里" withExtension:@"mp3"];
self.circularProgressView.lineWidth = 20;
//set CircularProgressView delegate
self.circularProgressView.delegate = self;
2. 通过代码创建对象
2. 用写代码的方式建立对象
//get a audio path
NSURL *audioURL = [[NSBundle mainBundle] URLForResource:@"我的歌声里" withExtension:@"mp3"];
//set back color & progress color
UIColor *backColor = [UIColor colorWithRed:236.0/255.0
green:236.0/255.0
blue:236.0/255.0
alpha:1.0];
UIColor *progressColor = [UIColor colorWithRed:82.0/255.0
green:135.0/255.0
blue:237.0/255.0
alpha:1.0];
//alloc CircularProgressView instance
self.circularProgressView = [[CircularProgressView alloc] initWithFrame:CGRectMake(41, 57, 238, 238)
backColor:backColor
progressColor:progressColor
lineWidth:30
audioURL:audioURL];
//set CircularProgressView delegate
self.circularProgressView.delegate = self;
//add CircularProgressView
[self.view addSubview:self.circularProgressView];
你可以通过在头文件 CircularProgressView.h
中声明的方法播放、暂停和停止音频
你可以通过如下方法播放、暂停或者停止音频,这些方法声明在 CircularProgressView.h
头文件中
- (void)play;
- (void)pause;
- (void)stop;
你可以在这个开源库中找到一个示例项目。
你可以在这个开源库中找到一个示例工程。
版本 1.5
用 CADisplayLink 替换 NSTimer。
用 CADisplayLink 替换 NSTimer。
版本 1.4
升级支持到 Xcode5,添加了点击与拖拽的手势动画。
升级支持到Xcode5,加入点击与拖拽的手势动画。
版本 1.3
添加响应拖动进度视图手势。
添加对拖拽进度手势的支持。
版本 1.2
加入从 Interface Builder 创建实例的 initWithCoder 方法。
支持通过 Interface Builder 建立实例的初始化方法 initWithCoder。
版本 1.1
使代码易于阅读,添加许可证和截图。
让代码更易读,增加了许可证和截图。
版本 1.0
初始版本。
初始版本。