ios – How to create a PKCanvasView infinity


I recently came across a fascinating feature in the Freeform application on iOS. When drawing near the edges of the canvas, the board automatically expands to provide more space for drawing. I’m curious to know how I can implement a similar infinite canvas feature using PKCanvasView. Any guidance or insights on achieving this would be greatly appreciated!

private(set) var canvasView: PKCanvasView = {
        let canvasView = PKCanvasView()
        canvasView.translatesAutoresizingMaskIntoConstraints = false
        canvasView.alwaysBounceVertical = true
        canvasView.minimumZoomScale = 1
        canvasView.maximumZoomScale = 1
        return canvasView
    }()

private(set) lazy var toolPicker: PKToolPicker? = {
        if #available(iOS 14.0, *) {
            return PKToolPicker()
        }
        guard let window = (canvasView.window ?? view.window) else {
            return nil
        }
        return PKToolPicker.shared(for: window)
    }()

private func buildCanvasDraw() {
        canvasView.drawing = PKDrawing()
    }

Thanks and regards.

Latest articles

spot_imgspot_img

Related articles

Leave a reply

Please enter your comment!
Please enter your name here

spot_imgspot_img