Skip to content

StreamLayer/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.

About

Number Pad (inspired by Square)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 94.1%
  • Ruby 3.6%
  • Objective-C 2.3%