TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Dec 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by Omer Karisman.
iOS Button mimicking record button in Apple’s VoiceRecorder app. It also displays the recording process when recording. It’s great for a video recorder app with a fixed/maximum length like snapchat, vine, instragram.
It has start and stop sounds included.
RecordButton is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod "RecordButtonSwift"
Add this line add the top of the file you want to use this module in import RecordButton
it’s the easiest to just check out the example project for this.
To update progress the RecordButton must be an instance of the class. You should also add a progressTimer
and a progress
variable, like this:
class ViewController: UIViewController {
var recordButton : RecordButton!
var progressTimer : NSTimer!
var progress : CGFloat! = 0
// rest of viewController
The recordButton
needs a target for start and stopping the progress timer. Add this code after initialization of the recordButton
(usualy in viewDidLoad()
)
recordButton.addTarget(self, action: "record", forControlEvents: .TouchDown)
recordButton.addTarget(self, action: "stop", forControlEvents: UIControlEvents.TouchUpInside)
Finally add these functions to your ViewController
func record() {
self.progressTimer = NSTimer.scheduledTimerWithTimeInterval(0.05, target: self, selector: "updateProgress", userInfo: nil, repeats: true)
}
func updateProgress() {
let maxDuration = CGFloat(5) // max duration of the recordButton
progress = progress + (CGFloat(0.05) / maxDuration)
recordButton.setProgress(progress)
if progress >= 1 {
progressTimer.invalidate()
}
}
func stop() {
self.progressTimer.invalidate()
}
Omer Karisman Lead UI/UX @ MojiLaLa | Sahin Boydas Co-Founder @ MojiLaLa |
---|
samuelbeek, http://samuelbeek.com
alldritt, http://markalldritt.com