Swift PKToolPickerObserver「指で描画」は検出出来るのか?
「指で描画」スイッチの検出目的で調査したが、「指で描画」は検出出来ない。
コード
import UIKit
import PencilKit
class PencilKitViewController: UIViewController {
    var pkcanvasview: PKCanvasView = PKCanvasView(frame: .zero)
    let pktoolpicker = PKToolPicker()
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.addSubview(self.pkcanvasview)
        self.pkcanvasview.isOpaque = false
        self.pkcanvasview.backgroundColor = .clear
        self.pktoolpicker.addObserver(self.pkcanvasview)
        self.pktoolpicker.addObserver(self)
        self.pktoolpicker.setVisible(true, forFirstResponder: self.pkcanvasview)
        self.pkcanvasview.becomeFirstResponder()
        self.view = self.pkcanvasview
    }
    
    override func viewDidAppear(_ animated: Bool) {
        print("width:\(self.view.frame.width) height:\(self.view.frame.height) zoomScale:\(self.pkcanvasview.zoomScale)")
    }
}
extension PencilKitViewController: PKToolPickerObserver {
    func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
        print("***** \(#function)")
    }
    
    func toolPickerIsRulerActiveDidChange(_ toolPicker: PKToolPicker) {
        print("***** \(#function)")
    }
    
    func toolPickerVisibilityDidChange(_ toolPicker: PKToolPicker) {
        print("***** \(#function)")
    }
    
    func toolPickerFramesObscuredDidChange(_ toolPicker: PKToolPicker) {
        print("***** \(#function)")
    }
}
実行結果
生成、表示 ***** toolPickerSelectedToolDidChange(_:) ***** toolPickerVisibilityDidChange(_:) ペン種類・色変更 ***** toolPickerSelectedToolDidChange(_:) ルーラー表示・非表示 ***** toolPickerIsRulerActiveDidChange(_:)





