---
title: PKCanvasView
framework: pencilkit
role: symbol
role_heading: Class
path: pencilkit/pkcanvasview
---

# PKCanvasView

A view that captures Apple Pencil input and displays the rendered results in an iOS app.

## Declaration

```swift
class PKCanvasView
```

## Mentioned in

Supporting backward compatibility for ink types

## Overview

Overview A PKCanvasView object captures content drawn using Apple Pencil or the user’s finger and displays it in your app. The canvas view handles all of the touch events and data coming from Apple Pencil, and renders that information using the tool you specify. The canvas stores the captured input in a PKDrawingReference object. PKCanvasView is a scroll view, so you can make the drawable area bigger than the canvas view’s frame rectangle. To do that, set the inherited contentSize property to the size you want. The canvas view automatically scales its underlying content to match the size you specify. Users scroll around the canvas using a two-finger pan gesture. (If the allowsFingerDrawing property is false, users scroll with only one finger.) A canvas view conforms to the PKToolPickerObserver protocol, so you can add it as an observer of the window’s tool picker. The tool picker displays a floating palette of tools that the user can choose from. As the user interacts with items in the palette, such as changing ink colors, or line widths, the canvas automatically updates its drawing environment accordingly.

## Topics

### Responding to drawing-related changes

- [delegate](pencilkit/pkcanvasview/delegate.md)
- [PKCanvasViewDelegate](pencilkit/pkcanvasviewdelegate.md)

### Configuring the drawing environment

- [tool](pencilkit/pkcanvasview/tool-1kj57.md)
- [isRulerActive](pencilkit/pkcanvasview/isruleractive.md)
- [allowsFingerDrawing](pencilkit/pkcanvasview/allowsfingerdrawing.md)
- [drawingPolicy](pencilkit/pkcanvasview/drawingpolicy.md)
- [PKCanvasViewDrawingPolicy](pencilkit/pkcanvasviewdrawingpolicy.md)

### Getting the drawing gesture recognizer

- [drawingGestureRecognizer](pencilkit/pkcanvasview/drawinggesturerecognizer.md)

### Getting the captured data

- [drawing](pencilkit/pkcanvasview/drawing.md)

### Managing stroke selection

- [selection](pencilkit/pkcanvasview/selection.md)

### Supporting PencilKit versions

- [maximumSupportedContentVersion](pencilkit/pkcanvasview/maximumsupportedcontentversion.md)

### Instance Properties

- [isDrawingEnabled](pencilkit/pkcanvasview/isdrawingenabled.md)

## Relationships

### Inherits From

- [UIScrollView](uikit/uiscrollview.md)

### Conforms To

- [CALayerDelegate](quartzcore/calayerdelegate.md)
- [CLBodyIdentifiable](corelocation/clbodyidentifiable.md)
- [CMBodyIdentifiable](coremotion/cmbodyidentifiable.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [PKToolPickerObserver](pencilkit/pktoolpickerobserver.md)
- [UIAccessibilityIdentification](uikit/uiaccessibilityidentification.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearance](uikit/uiappearance.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UICoordinateSpace](uikit/uicoordinatespace.md)
- [UIDynamicItem](uikit/uidynamicitem.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIFocusItem](uikit/uifocusitem.md)
- [UIFocusItemContainer](uikit/uifocusitemcontainer.md)
- [UIFocusItemScrollableContainer](uikit/uifocusitemscrollablecontainer.md)
- [UILargeContentViewerItem](uikit/uilargecontentvieweritem.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIPopoverPresentationControllerSourceItem](uikit/uipopoverpresentationcontrollersourceitem.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Canvas

- [Drawing with PencilKit](pencilkit/drawing-with-pencilkit.md)
- [Customizing Scribble with Interactions](pencilkit/customizing-scribble-with-interactions.md)
- [Inspecting, Modifying, and Constructing PencilKit Drawings](pencilkit/inspecting-modifying-and-constructing-pencilkit-drawings.md)
- [Controlling stroke rendering for animation and editing](pencilkit/controlling-stroke-rendering-for-animation-and-editing.md)
- [PKDrawing](pencilkit/pkdrawing-swift.struct.md)
- [PKStroke](pencilkit/pkstroke-swift.struct.md)
- [PKStrokePath](pencilkit/pkstrokepath-swift.struct.md)
- [PKStrokePoint](pencilkit/pkstrokepoint-swift.struct.md)
- [PKInk](pencilkit/pkink-swift.struct.md)
