GithubHelp home page GithubHelp logo

brianhacks / jwgcirclecounter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from johngraham262/jwgcirclecounter

0.0 2.0 0.0 590 KB

A handy timer that counts down in a circular view.

License: MIT License

Objective-C 89.34% Ruby 0.64% C 5.87% C++ 0.36% Shell 3.80%

jwgcirclecounter's Introduction

JWGCircleCounter Build Status

This control is a simple view that counts down a specified amount and alerts you on completion. You can see this live in Teleportante.

alt tag

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

  1. Move didStart, isRunning, and didFinish properties to an enum.
  2. Create a single "smart" method that can do start/pause/restart.

Shoutout

This was inspired by pppoe's Circle-Counter-Down. Thank you!

jwgcirclecounter's People

Contributors

johngraham262 avatar s424242 avatar sbonami avatar

Watchers

James Cloos avatar Brian Nguyen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.