jsk

JSKTimerView

A simple custom UIView that acts as a self-contained, animating timer.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

177

Maintenance

Last Commit

7yrs ago

Contributors

0

Package

Dependencies

0

License

MIT

Categories

Readme

JSKTimerView

CI Status Version License Platform

GIF

Screenshot0 Screenshot1 Screenshot2 Screenshot3

JSKTimerView is a simple custom UIView that acts as a self-contained, animating timer.

  • Set up timer based in seconds
  • Start timer and have it animate automatically
  • Full control of timer: start, pause, stop, reset, and reset
  • Manually set timer progress and have timer update accordingly
  • Get notified when timer has finished
  • iOS 7+ and up

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

  • iOS 7.0+
  • ARC

Installation

JSKTimerView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "JSKTimerView"

Getting Started

#import <JSKTimerView/JSKTimerView.h>    // Import the relevant header

Create a 60-sec timer

JSKTimerView *timerView = [[JSKTimerView alloc] init];
[timerView setTimerWithDuration:60];

Start a timer

[timerView startTimer];

Pause a timer

[timerView pauseTimer];

Stop a timer

[timerView stopTimer];

Reset a timer

[timerView resetTimer];

Restart a timer

[timerView restartTimer];

Set timer progress manually

// Progress should be a value between 0 and 1, timer value updates automatically
timerView.progress = 0.5;

Know when the timer naturally ends

// Assume self refers to object that implements timerDidFinish method of JSKTimerViewDelegate
timerView.setDelegate = self;

- (void)timerDidFinish {
    NSLog(@"Timer finished");
}

Author

Joefrey Kibuule, jeff.kibuule@outlook.com

License

JSKTimerView is available under the MIT license. See the LICENSE file for more info.

Copyright © 2015 Joefrey Kibuule.

Please provide attribution, it is greatly appreciated.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100