efremidze / NumPad

Number Pad (inspired by Square)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Number Pad (inspired by Square)

License:MIT License


Languages

Language:Swift 94.0%Language:Ruby 3.6%Language:Objective-C 2.4%