1

我的 toolPicker 有问题。当我选择一个工具或颜色没有改变但是当我在代码中这样做时一切正常

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
}

}

4

0 回答 0