Giter Club home page Giter Club logo

ypdrawsignatureview's Introduction

YPDrawSignatureView

Simple class for capturing signatures.

Swift 3

The class supports Swift 3. This branch is not backwards compatible, please download the previous release if you can not support Swift 3. Legacy versions will not be updated anymore.

  • Swift 3.0 will be supported
  • Swift 2.3 will not be supported

Usage

Add a new UIView where you want the signature capture field. Set its class to YPDrawSignatureView, and connect it to an @IBOutlet property in your UIViewController. For saving and clearing the signature, add two buttons to your view controller. Hook each button up to an @IBAction function.

ScreenShot

With the view selected, choose the IB Attributes Inspector panel to set custom values, or set them in code where you initialize the signature view.

Methods

  • clear()

This clears the view

  • getSignature()

This returns the signature with the bounds of the view

  • getCroppedSignature()

This returns the signature with the bounds of the signature

Properties

  • doesContainSignature: Bool

This is a computed read-only property returning true if the view actually contains a signature

  • strokeWidth: CGFloat

Sets the width of the signature stroke

  • strokeColor: UIColor

Sets the UIColor of the signature stroke

  • signatureBackgroundColor: UIColor

Sets the background UIColor of the view

Optional Protocol Methods

  • startedDrawing()

Notifies the delegate when someone starts a stroke in the view

  • finishedDrawing()

Notifies the delegate when someone finishes a stroke in the view

Example Code

The following sample code checks if there is a signature in the view before getting it.

class MyViewController: UIViewController, YPSignatureDelegate {

    @IBOutlet weak var drawSignatureView: YPDrawSignatureView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    
        drawSignatureView.delegate = self
    }

    @IBAction func save(sender: AnyObject) {
        // Checking if the view actually contains a signature
        if drawSignatureView.doesContainSignature {
            let img = drawSignatureView.getCroppedSignature()
            // Do something with img
        } else {
            // Alert the user or do something else
        }
    }

    @IBAction func clear(sender: AnyObject) {
        drawSignatureView.clear()
    }

    // MARK: - Optional delegate methods
    func startedDrawing() {
        // Do something when start drawing
    }

    func finishedDrawing() {
        // Do something else when finished drawing
    }
}

Example Project

Check out the example project for more information on how to save signatures and how to clear the signature view.

Installation

Add YPDrawSignature.swift to your project

Support and Issues

GitHub Issues are for filing bug reports and feature requests only. Use StackOverflow for support related questions and help.

Original Author

Geert-Jan Nilsen Yuppielabel

Contributors

License

YPDrawSignatureView is available under the MIT license. See the LICENSE file for more info. Feel free to fork and modify.

Update history

v1.0 - 9/12/16

  • More Swifty API
  • Supports Swift 3

ypdrawsignatureview's People

Contributors

tyrantfox avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.