ios14xcode12pencilkit

About iOS14 of PencilKit


environment ・MacOS: 10.15.7 ・Xcode: 12.1 ・iOS: 14.1

I am trying to PencilKit and but I cannot show PKToolPicker. I set my code as below:

enter image description here

if let window = UIApplication.shared.windows.first {
    if let toolPicker = PKToolPicker.shared(for: window) {
        toolPicker.addObserver(canvas)
        toolPicker.setVisible(true, forFirstResponder: canvas)
        canvas.becomeFirstResponder()
    }
}

I get a warning here:

'shared(for:)' was deprecated in iOS 14.0: Create individual instances instead.

So I changed it like this

let toolPicker = PKToolPicker.init()
toolPicker.addObserver(canvas)
toolPicker.setVisible(true, forFirstResponder: canvas)
canvas.becomeFirstResponder()

enter image description here

After all the PKToolPicker is not displayed

enter image description here

I am aiming to display such PKToolPicker

Please give me advice


Solution

  • I solved it like this

    toolPicker.addObserver(canvas)
    toolPicker.setVisible(true, forFirstResponder: canvas)
    canvas.becomeFirstResponder()