kbiakov / KBNumberPad

Custom iOS number pad with embedding as input view.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KBNumberPad (iOS)

CI Status Version License Platform

KBNumberPad is a customizable number pad as replacement of default.

Example

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

Requirements

  • Xcode 8.0+
  • iOS 9.0+
  • Swift 3.0+

Setup

CocoaPods

KBNumberPad is available through CocoaPods, dependency manager for Cocoa projects. To install it, run the command:

$ gem install cocoapods

To integrate KBNumberPad into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'KBNumberPad', '~> 1.0.1'
end

Then, run the following command:

$ pod install

Usage

  1. Create input view (and customize, see section below):
let numberPad = KBNumberPad()
  1. Set as input view for your text field (or other):
textField.inputView = numberPad
  1. Set delegate:
numberPad.delegate = self
  1. Define behavior of 3 callbacks:
func onNumberClicked(numberPad: KBNumberPad, number: Int) {}
func onDoneClicked(numberPad: KBNumberPad) {}
func onClearClicked(numberPad: KBNumberPad) {}

Customization

You can customize base components of this number pad view as follows:

numberPad.setDelimiterColor(UIColor.lightGray)
numberPad.setButtonsColor(UIColor.black)
numberPad.setButtonsBackgroundColor(UIColor.white)

This snippet shows that all buttons grouped, but there are methods to do setup separately like:

numberPad.setNumberButtonsColor(UIColor.black)
numberPad.setClearButtonColor(UIColor.darkGray)
numberPad.setDoneButtonColor(UIColor.darkGray)

There is params to customize: it's color of grouped or all buttons, font & background. Also you can change the icon for clear button.

Screenshots

2017-05-14_20.29.02.png 2017-05-14_20.51.04.png 2017-05-14_20.59.17.png

Author

License

KBNumberPad is available under the Apache License 2.0 license.

About

Custom iOS number pad with embedding as input view.

License:Apache License 2.0


Languages

Language:Swift 90.8%Language:Objective-C 4.9%Language:Ruby 4.3%