JWGCircleCounter
This control is a simple view that counts down a specified amount and alerts you on completion. You can see this live in Teleportante.
Demo
This example uses Cocoapods, please install before running.
Navigate to DemoApp
and run pod install
in your terminal. Open DemoApp.xcworkspace
and run the application.
Installation
Easiest installation is through Cocoapods. Add the following line to your Podfile
:
pod `JWGCircleCounter`
and run pod install
in your terminal.
Alternatively, you can manually add the files in the JWGCircleCounter
directory to your project.
Usage
Start by creating a JWGCircleCounter
of your own and add it to your view:
JWGCircleCounter *circleCounter = [[JWGCircleCounter alloc] initWithFrame:CGRectMake(0,0,40,40)];
...
[your_view addSubview:circleCounter];
After initialization, start the counter by:
[circleCounter startWithSeconds:5];
Once it's been started, the counter can be managed with:
[circleCounter stop];
[circleCounter resume];
Customization & counter state
When the frame is set, the circle counter will expand to fit the bounds.
The following properties can be set:
@property (nonatomic, strong) UIColor *circleColor;
@property (nonatomic, strong) UIColor *circleBackgroundColor;
@property (nonatomic, assign) CGFloat circleTimerWidth;
You can inspect the state of a counter through a few readonly
properties:
@property (nonatomic, assign, readonly) BOOL didStart;
@property (nonatomic, assign, readonly) BOOL isRunning;
@property (nonatomic, assign, readonly) BOOL didFinish;
Contributing
Please write tests and ensure that existing tests pass too. Open a pull request when you're ready.
Roadmap
- Move
didStart
,isRunning
, anddidFinish
properties to an enum. - Create a single "smart" method that can do start/pause/restart.
Shoutout
This was inspired by pppoe's Circle-Counter-Down. Thank you!