Skip to content

efremidze/NumPad

Repository files navigation

NumPad

Language Version CI Status codebeat badge Carthage compatible

Number Pad inspired by Square. This module is based on LEAmountInputView.

Demo

$ pod try NumPad

Requirements

  • iOS 9.0+
  • Xcode 9.0+
  • Swift 4 (NumPad 3.x), Swift 3 (NumPad 2.x), Swift 2.3 (NumPad 1.x)

Installation

CocoaPods

To install with CocoaPods, simply add this in your Podfile:

use_frameworks!
pod "NumPad"

Carthage

To install with Carthage, simply add this in your Cartfile:

github "efremidze/NumPad"

Manually

  1. Download and drop NumPad.swift in your project.
  2. Congratulations!

Usage

Add NumPad to your view.

import NumPad

let numPad = NumPad(frame: CGRect(x: 0, y: 0, width: 320, height: 600))
numPad.dataSource = self
numPad.delegate = self
addSubview(numPad)

Use the DefaultNumPad for a preconfigured dataSource and delegate.

Data Source

// number of rows
func numberOfRowsInNumPad(numPad: NumPad) -> Int

// number of columns for row
func numPad(numPad: NumPad, numberOfColumnsInRow row: Row) -> Int

// item for position
func numPad(numPad: NumPad, itemAtPosition position: Position) -> Item

Delegate

// handle item tap
func numPad(numPad: NumPad, itemTapped item: Item, atPosition position: Position)

// item size for position
func numPad(numPad: NumPad, sizeForItemAtPosition position: Position) -> CGSize

Contributions

Contributions are totally welcome.

License

NumPad is available under the MIT license. See the LICENSE file for more info.