My solution is a bit hacky. I added the built-in tool PKToolPicker and displayed the tools. When selecting Text("Lasso"), I set self.toolPicker.setVisible(true, forFirstResponder: context.coordinator) so that PKLassoTool can be used. When selecting other tools, I set self.toolPicker.setVisible(false, forFirstResponder: context.coordinator).
It's quite cumbersome, and I hope there is a better way.
let toolPicker = PKToolPicker()
func makeCoordinator() -> Coordinator {
Coordinator()
}
class Coordinator: NSObject, PKToolPickerObserver {
....
}
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: