A UIView subclass that allows the user to draw on it.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DrawableView.xcodeproj
DrawableView
DrawableViewExample
DrawableViewTests
.gitignore
DrawableView.podspec
LICENSE
README.md
drawing.gif

README.md

DrawableView

A UIView subclass that allows the user to draw on it.

Swift Version License Carthage compatible CocoaPods Compatible
Platform PRs Welcome

Add a DrawableView to your app and you will immediately be able to draw on it. Then try changing the stroke color, width, and transparency!

Features

  • Stroke Color
  • Stroke Width
  • Stroke Transparency
  • Undo
  • DrawableViewDelegate
  • Quad Curve Interpolation

Requirements

  • iOS 9.0+
  • Xcode 8.3.1

Installation

CocoaPods

You can use CocoaPods to install DrawableView by adding it to your Podfile:

pod 'DrawableView'

Simply import DrawableView wherever you would like to use it.

import UIKit
import DrawableView

Carthage

Create a Cartfile that lists the framework and run carthage update. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/DrawableView.framework to an iOS project.

github "EthanSchatzline/DrawableView"

Usage example

class ViewController: UIViewController, DrawableViewDelegate {

    @IBOutlet var drawableView: DrawableView! {
      didSet {
        drawableView.delegate = self
        drawableView.strokeColor = .blue
        drawableView.strokeWidth = 12.0
        drawableView.transparency = 1.0
      }
    }

    func setDrawing(_ isDrawing: Bool) {
        /*
        Run some logic based on if the user is currently drawing a stroke or not.
        Commonly people hide the drawing tools UI while the user is drawing and fade it back in once they stop.
        */
    }

    func saveDrawingToPhotoLibrary() {
      guard let drawnImage = drawableView.image else { return }
      UIImageWriteToSavedPhotosAlbum(drawnImage, self, nil, nil)
    }
}

Contribute

We would love for you to contribute to DrawableView, check the LICENSE file for more info.

Meta

Ethan Schatzline – @_Easy_EEthan@EthanSchatzline.me

Distributed under the MIT license. See LICENSE for more information.

https://github.com/EthansShatzline/