• Stars
    star
    627
  • Rank 71,654 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter

AGCircularPicker

Made by Agilie CI Status Version License Platform

We are pleased to offer you our new free lightweight plugin named AGCircularPicker.

AGCircularPicker is helpful for creating a controller aimed to manage any calculated parameter. For example, it can be used as a countdown timer or for keeping the score in the game interface.

AGCircularPicker can be customized to meet your individual requirements. The developer can set the number of the controllers and their design by selecting a color, gradient and other similar parameters. In addition, it’s possible to specify the transition type for showing controllers on the screen.

Link to Android repo

Check out our Android CircularPicker

Installation

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

pod "AGCircularPicker"

Demo

Volume Picker Sreenshot Volume Picker Demo Time Picker Demo

Example

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

Usage

import AGCircularPicker

AGCircularPickerView could be used either from Interface Builder by linking outlet or from the code.

The main requirement to let it work is to setup AGCircularPickerOption. Once it is set picker will automatically setup all required data.

public struct AGCircularPickerOption {

    var titleOption: AGCircularPickerTitleOption? = nil
    var valueOption: AGCircularPickerValueOption!
    var colorOption: AGCircularPickerColorOption = AGCircularPickerColorOption()

}

It consists of three option groups: AGCircularPickerTitleOption (defines title, it's color and font), AGCircularPickerValueOption (defines min and max values and number of rounds) and AGCircularPickerColorOption (defines gradient colors, gradient locations and angle)

AGCircularPickerValueOption is required whereas two others are optionals.

If AGCircularPickerTitleOption is empty control will have no title.

If AGCircularPickerColorOption is not set control will use default colors.

AGCircularPickerView has a delegate to notify about any changes

public protocol AGCircularPickerViewDelegate {

    func circularPickerViewDidChangeValue(_ value: Int, color: UIColor, index: Int)
    func circularPickerViewDidEndSetupWith(_ value: Int, color: UIColor, index: Int)
    func didBeginTracking(timePickerView: AGCircularPickerView)
    func didEndTracking(timePickerView: AGCircularPickerView)

}

Let's see how we can use it in practice. First we should link it in the Interface Builder

@IBOutlet weak var circularPickerView: AGCircularPickerView!

Then we should define required options and setup control with it and delegate if needed

override func viewDidLoad() {
    super.viewDidLoad()
    let valueOption = AGCircularPickerValueOption(minValue: 0, maxValue: 100)
    let titleOption = AGCircularPickerTitleOption(title: "volume")
    let option = AGCircularPickerOption(valueOption: valueOption, titleOption: titleOption)
    pickerView.setupPicker(delegate: self, option: option)
}

For more details please see our example

Troubleshooting

Problems? Check the Issues block to find the solution or create an new issue that we will fix asap. Feel free to contribute.

Author

This iOS visual component is open-sourced by Agilie Team [email protected]

Contributors

Contact us

If you have any questions, suggestions or just need a help with web or mobile development, please email us at [email protected]. You can ask us anything from basic to complex questions.

License

AGCircularPicker is available under The MIT License (MIT) Copyright © 2017 Agilie Team

More Repositories

1

DisPlayers-Audio-Visualizers

DisPlayer is a customizable audio visualization component that works with recording and playing back audio files
Objective-C
312
star
2

AGImageControls

cool tools for image edition
Swift
226
star
3

AGVolumeControlView

Visual regulator can be connected to a player or other smart house’s device making the process of controlling the level of a particular characteristic
Swift
171
star
4

AGInterfaceInteraction

library performs interaction with UI interface
Swift
156
star
5

AGLocationDispatcher

Location manage framework working in different modes
Objective-C
149
star
6

instagram_api_gem

A Ruby wrapper for the Instagram API
Ruby
105
star
7

CircularPicker

CircularPicker is helpful for creating a controller aimed to manage any calculated parameter.
Kotlin
84
star
8

VolumeControlView

Visual regulator can be connected to a player or other smart house’s device making the process of controlling the level of a particular characteristic much easier.
Kotlin
75
star
9

dribbble-ios-sdk

Unofficial Dribbble iOS wrapper allows you to integrate Dribble API into iOS application (Designer, Shot, Comment, User Story, Like, Follow)
Objective-C
73
star
10

InterfaceInteraction

Interact your app's interface elements with different effects!
Kotlin
56
star
11

RotatableAutofitEditText

Extended EditText which allows to move, rotate and resize text at the same time
Java
54
star
12

GoButton

This button is used for displaying an animation while a request is going. It could be run with infinite animation loop or with finish animation as well.
JavaScript
51
star
13

MobileGift

Simplifies interaction with GIF images.
Kotlin
45
star
14

canvas-image-cover-position

Calculating image position for scaling it on the canvas.
HTML
39
star
15

AGMobileGiftInterface

simplified interaction with GIF animations
Swift
39
star
16

dribbble-android-sdk

Dribbble Android SDK is an unofficial wrapper for Dribbble API v1. (Designer, Shot, Comment, User Story, Like, Follow)
Java
31
star
17

AnimatedToggleMenu

The Animated Toggle Menu is helpful for creating websites. It’s lightweight, easy-to-use and requires minimum lines of code.
CSS
28
star
18

science-fiction-magazines-blog

Blog template (concept) is inspired by stylish science fiction magazines of the 80-90s.
CSS
27
star
19

PXSDK

Objective-C
27
star
20

gtm-in-viewport-manager

A manager of in-viewport events for GTM (Google Tag Manager).
HTML
21
star
21

Web-Time-Tracker

Plugin named Timetracker is a time counter that works in both increase and decrease directions.
JavaScript
21
star
22

Rails-Application-Template

Base template for creating rails applications.
Ruby
18
star
23

ng2-dialog-window

Modal/dialog windows and popups module for Angular applications.
JavaScript
17
star
24

Bouncing-Carousel

The bouncing carousel is an experiment with SVG animations technology.
CSS
14
star
25

viper_sample

Swift
10
star
26

electrum-proxy-middleware

ExpressJS middleware to add functionality for proxying requests to Electrum servers
TypeScript
7
star
27

vimeo-api-gem

A Ruby wrapper for the Vimeo API. Utilizes v3 API version
Ruby
6
star
28

AIS-MobileDesign

A Mobile Design API client for Agilie IT School teaching purposes
JavaScript
5
star
29

swift_viper_template

The template for creating VIPER module using generamba in Swift
Liquid
4
star
30

Agilie-IT-School

A sandbox repository for experiments with AngularJS techniques and studying purposes for Agilie IT School students
HTML
4
star
31

kraken-wsclient-js

Kraken WebSockets client in JS for the Kraken websocket API.
TypeScript
2
star
32

rails-generators

Rails ready-to-use generators to improve adding libs that we are usually using
Ruby
2
star
33

angular-helpies

Helping instances for developing Angular applications
HTML
2
star
34

action-button

JavaScript
1
star
35

ra-tinymce-input

Rich Text Input component for React Admin, useful for editing HTML content in admin GUI
JavaScript
1
star
36

ebanq_api

A Ruby wrapper for the EBANQ Rest API
Ruby
1
star