我的 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
}
}