//// Oval Drawing
var ovalPath = UIBezierPath(ovalInRect: CGRectMake(44, 21, 81, 81))

//// Rectangle Drawing
let rectanglePath = UIBezierPath(rect: CGRectMake(62, 39, 45, 45))

//// Bezier Drawing
var bezierPath = UIBezierPath()
bezierPath.moveToPoint(CGPointMake(165.5, 29.5))
bezierPath.addCurveToPoint(CGPointMake(193.5, 47.5), controlPoint1: CGPointMake(165.5, 29.5), controlPoint2: CGPointMake(216.5, 35.5))
bezierPath.addCurveToPoint(CGPointMake(158.5, 47.5), controlPoint1: CGPointMake(170.5, 59.5), controlPoint2: CGPointMake(158.5, 47.5))
bezierPath.lineWidth = 1

Resolution Independence with PaintCode

  • Vector drawing tools for creating UI graphics
  • Instantly generate Objective-C, Swift, or C# code from your drawings
  • Export a single StyleKit class that contains all the drawing code as class methods

Main Window

  • Library of colors, gradients, shadows, and other attributes to define a shape
  • Realtime code generation for the selected Canvas displayed in Code View

Generate Code

  • Automatically create code from drawing on the canvas
  • Specify each drawing origin by dragging the origin in the canvas


  • Export code of all the drawings, colors, gradients, shadows, icons, and images as a single class
  • Command-R in PaintCode to re-export drawing code to Xcode
  • Great for fast design prototyping


  • Easily reuse drawings from other canvases
  • Create a new canvas then select the "Symbol" tool
  • Symbols behave like other shapes such as rectangles, ovals, etc.
  • Changes in the original drawing are reflected in the symbol

Demo time...

Telekinesis for PaintCode

design your app while the app is running on a real device

Resources for learning PaintCode

Resolution Independence with PaintCode

By Gavin Wiggins

Resolution Independence with PaintCode

Convert vector drawings into Objective-C, Swift, or C# code with PaintCode

  • 734

More from Gavin Wiggins