Hey everyone! I need some help with the code for a signature capture.
I am trying to create a signature capture window that is then placed in an autogenerated PDF form. My main issue is that the signature does not get captured live and cannot be viewed while drawing it. I have tried to troubleshoot with AI but do not seem to have come closer to a conclusion. Tips or advice would be appreciated.
Here is the code:
struct SignatureCaptureView: View {
@Environment(.dismiss) var dismiss
@Binding var drawing: PKDrawing
var body: some View {
VStack(spacing: 20) {
Text("Sign Below")
.font(.headline)
SignatureCanvas(drawing: $drawing)
.frame(height: 300)
.clipShape(RoundedRectangle(cornerRadius: 10))
.shadow(radius: 5)
.padding()
HStack(spacing: 20) {
Button("Clear") {
drawing = PKDrawing()
}
.foregroundColor(.red)
Spacer()
Button("Done") {
dismiss()
}
.fontWeight(.bold)
}
.padding(.horizontal)
}
.padding()
}
}
struct SignatureCanvas: UIViewRepresentable {
@Binding var drawing: PKDrawing
func makeUIView(context: Context) -> PKCanvasView {
let canvasView = PKCanvasView()
canvasView.tool = PKInkingTool(.pen, color: .black, width: 4)
canvasView.drawingPolicy = .anyInput
canvasView.drawing = drawing
canvasView.isOpaque = true
canvasView.backgroundColor = .white
return canvasView
}
func updateUIView(_ uiView: PKCanvasView, context: Context) {
}
static func dismantleUIView(_ uiView: PKCanvasView, coordinator: ()) {
}
}