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

Overview

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

You might also like...
Some helpful swift code snippets

HelpfulSwiftSnippets Some helpful swift code snippets Network Manager - a generic network manager that deals with downloading data from the internet u

ScrollViewPlus is a small library that provides some helpful extension and capabilities for working with NSScrollView.

ScrollViewPlus is a small library that provides some helpful extension and capabilities for working with NSScrollView.

Swift framework containing a set of helpful XCTest extensions for writing UI automation tests
Swift framework containing a set of helpful XCTest extensions for writing UI automation tests

AutoMate • AppBuddy • Templates • ModelGenie AutoMate AutoMate is a Swift framework containing a set of helpful XCTest extensions for writing UI autom

iOS Component for creating a pulsing animation.

PulsingHalo PulsingHalo has been discontinued, and is no longer being maintained. Please check out Pulsator which is the new version of this written w

Custom Field component with validation for creating easier form-like UI from interface builder.
Custom Field component with validation for creating easier form-like UI from interface builder.

#YALField Custom Field component with validation for creating easier form-like UI from interface builder. ##Example Project To run the example project

This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr.
This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr.

PARTagPicker This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. This tag picker was originally us

Library for creating swipe actions for any SwiftUI View

SwipeActions Library for creating swipe actions for any SwiftUI View, similar to

This component implements transition animation to crumble view-controller into tiny pieces.
This component implements transition animation to crumble view-controller into tiny pieces.

StarWars Animation This component implements transition animation to crumble view-controller into tiny pieces. Check this project on dribbble. Also, r

An example project of using the new Character Controller component in RealityKit 2.0
An example project of using the new Character Controller component in RealityKit 2.0

CharacterController in RealityKit 2.0 An example project of using the new Character Controller component in RealityKit 2.0. Demo Tweet Usage Install a

A controller that uses a UIStackView and view controller composition to display content in a list
A controller that uses a UIStackView and view controller composition to display content in a list

StackViewController Overview StackViewController is a Swift framework that simplifies the process of building forms and other static content using UIS

iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically!
iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically!

Developed and Maintained by Ipodishima Founder & CTO at Wasappli Inc. (If you need to develop an app, get in touch with our team!) So what is this lib

Mimicrate to native UIPageViewController. Each page is new controller, it can be even navigation controller.
Mimicrate to native UIPageViewController. Each page is new controller, it can be even navigation controller.

Mimicrate to native UIPageViewController. Each page is new controller, it can be even navigation controller. Support parent layout margins, paging and scroll by index. Don't have bug with tranlation when rotate.

Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.
Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

IQKeyboardManager While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the UITextField/UITextView. IQKey

Use any custom view as custom callout view for MKMapView with cool animations. Use any image as annotation view.
Use any custom view as custom callout view for MKMapView with cool animations. Use any image as annotation view.

MapViewPlus About MapViewPlus gives you the missing methods of MapKit which are: imageForAnnotation and calloutViewForAnnotationView delegate methods.

A way to quickly add a notification badge icon to any view. Make any view of a full-fledged animated notification center.
A way to quickly add a notification badge icon to any view. Make any view of a full-fledged animated notification center.

BadgeHub A way to quickly add a notification badge icon to any view. Demo/Example For demo: $ pod try BadgeHub To run the example project, clone the r

A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.

MJExtension A fast, convenient and nonintrusive conversion framework between JSON and model. 转换速度快、使用简单方便的字典转模型框架 📜 ✍🏻Release Notes: more details Co

Automate box any value! Print log without any format control symbol! Change debug habit thoroughly!

LxDBAnything Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! Installation You only need drag LxD

A way to quickly add a notification badge icon to any view. Make any view of a full-fledged animated notification center.
A way to quickly add a notification badge icon to any view. Make any view of a full-fledged animated notification center.

BadgeHub A way to quickly add a notification badge icon to any view. Demo/Example For demo: $ pod try BadgeHub To run the example project, clone the r

Comments
  • what kind of view that i can connect with

    what kind of view that i can connect with "@IBOutlet weak var circularPicker: AGCircularPicker!"

    hello . this source is very awesome i shout when i found this library

    but i have some problem when i use it can you help me?

    what kind of view that i can connect with "@IBOutlet weak var circularPicker: AGCircularPicker!" i never know please help me i need the this library

    thank you

    opened by justin3527 6
  • Start at specific value

    Start at specific value

    Hi. I have the picker working great with decimals by just diving the end value by 10 as you suggested. When I return to the picker I would like to set the control to the last used value. I initialize it starting at zero and going to 100 for example but would like it to be selected at an interim value, say 40 ie: remembers the last value since each time the picker is used it is to adjust the previous recorded value.

    Is this possible?

    opened by alexjordaan 5
  • AGCircularPickerView move issue when i use the multi mode

    AGCircularPickerView move issue when i use the multi mode

    when i move the view using swipe in the multi mode, it is move to the previous view (when move using touch, it is normal)

    is it AGCircularPicker issue ? or my mistake? when you have some time, i hope that you check this issue thank you very much

    ps. it is reproduce video AGCircularPicker_multi_move_issue.mov.zip

    opened by justin3527 1
  • changes made for Swift 4.1

    changes made for Swift 4.1

    All the new changes have been made for the Pod to be compatible and to be used in the new and upcoming projects also. I have personally tried and tested before making all the changes.

    opened by GodsEye-07 0
Owner
Agilie Team
Design and development of iOS and Android mobile apps, mobile friendly websites and cloud apps (RoR).
Agilie Team
DGDynamicHeightTableView - UITableView that supports auto calculated height by contents size

DGDynamicHeightTableView UITableView that supports auto calculated height by con

donggyu 6 Jul 22, 2022
An flexbox layout aimed at easy to use, which depend on Yoga.

DDFlexbox A flexbox framework for easy using. Install pod 'DDFlexbox' Template install Recommend using templates to create flexbox views. cd Script/

Daniel 12 Mar 23, 2022
iOS project bootstrap aimed at high quality coding.

iOS Project bootstrap How do you setup your iOS projects? Since we are approaching 2015 I’m working on refreshing my project bootstrap. I’ve decided t

Krzysztof Zabłocki 2k Dec 23, 2022
Swift-DocC is a documentation compiler for Swift frameworks and packages aimed at making it easy to write and publish great developer documentation.

Swift-DocC is a documentation compiler for Swift frameworks and packages aimed at making it easy to write and publish great developer docum

Apple 833 Jan 3, 2023
A simple self-development challenge application that aimed to learn

Movie List Challenge A simple self-development challenge application that aimed to learn "The Composable Architecture" basics and build a reactive str

Nicat Muzaffarli 1 Oct 30, 2021
A document-based SwiftUI application for viewing and editing EEG data, aimed at making software for viewing brain imaging data more accessible.

Trace A document-based SwiftUI application for viewing and editing EEG data, aimed at making software for viewing brain imaging data more accessible.

Tahmid Azam 3 Dec 15, 2022
CareKit is an open source software framework for creating apps that help people better understand and manage their health.

CareKit CareKit™ is an open source software framework for creating apps that help people better understand and manage their health. The framework prov

CareKit 2.3k Dec 27, 2022
A micro-framework for observing file changes, both local and remote. Helpful in building developer tools.

KZFileWatchers Wouldn't it be great if we could adjust feeds and configurations of our native apps without having to sit back to Xcode, change code, r

Krzysztof Zabłocki 1k Dec 19, 2022
FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner View、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders.

SWIFT OBJECTIVE-C FSPagerView is an elegant Screen Slide Library implemented primarily with UICollectionView. It is extremely helpful for making Banne

Wenchao Ding 6.7k Jan 2, 2023
Helpful extensions for iOS app development 🚀

ExtensionKit includes many extensions, from getting the user location with a deterministic Combine API to a shimmer loading animation, to keyboard notification updates, bottom sheet and much much more. Check out the docs below or install the library with SPM to try it out.

Gary Tokman 110 Oct 31, 2022