This control is a simple view that counts down a specified amount and alerts you on completion. You can see this live in Teleportante.
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.
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.
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];
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;
Please write tests and ensure that existing tests pass too. Open a pull request when you're ready.
- Move
didStart
,isRunning
, anddidFinish
properties to an enum. - Create a single "smart" method that can do start/pause/restart.
This was inspired by pppoe's Circle-Counter-Down. Thank you!