1

i have a problem with my toolPicker. when I choose a tool or the color does not change but when I do it in code everything is OK

class ViewController5 : UIViewController {

let canvas : PKCanvasView = {
    let canvasView = PKCanvasView()
    canvasView.backgroundColor = .white
    return canvasView
}()

override func viewDidLoad() {
    super.viewDidLoad()
    
    setupVieConstraints()
    setupBarItem()

}

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    
    setupCanvasView()
}

func setupVieConstraints () {        
    view.addSubview(canvas)
    canvas.translatesAutoresizingMaskIntoConstraints = false
    canvas.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
    canvas.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    canvas.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    canvas.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}

func setupCanvasView() {
    let toolPicker = PKToolPicker.init()
    toolPicker.setVisible(true, forFirstResponder: canvas)
    toolPicker.addObserver(canvas)
    canvas.becomeFirstResponder()
    canvas.drawingPolicy = .anyInput

// canvas.tool = PKInkingTool(.marker, color: .black, width: 50) }

func setupBarItem() {
    navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .camera, target: self, action: #selector(handleCameraButton))
    navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Pencil", style: .plain , target: self, action: #selector(handlePencilButton))
}

@objc func handleCameraButton() {
    print("camera")
}

@objc func handlePencilButton() {
    print("penicl only")
    canvas.drawingPolicy = .pencilOnly
 }
}
Fabio
  • 5,432
  • 4
  • 22
  • 24
Sebastian
  • 61
  • 1
  • 9

0 Answers0