swiftUI PencilKit的简单使用


//  PencilView.swift
//  PencilDraw
//  Created by wangxuncai on 2021/12/5.


import SwiftUI
import PencilKit



struct PencilView: UIViewRepresentable {
   
    @Binding var canvas:PKCanvasView

    let toolPicker = PKToolPicker()
    func makeCoordinator() -> Coordinator {
        return Coordinator(parent: self)
    }
    func makeUIView(context: Context) -> PKCanvasView {
    
        
        toolPicker.setVisible(true, forFirstResponder:canvas )
        toolPicker.addObserver(canvas)
        canvas.backgroundColor = .clear
        canvas.delegate = context.coordinator
        canvas.becomeFirstResponder()
    
        return canvas
    }
    func updateUIView(_ uiView: PKCanvasView, context: Context) {
     
    }
    class Coordinator:NSObject,PKCanvasViewDelegate, PKToolPickerObserver{
        var parent:PencilView
        init(parent:PencilView){
            self.parent = parent
        }
    }
}

//使用
struct CanvasBoard: View {
    @State var canvas = PKCanvasView()
    @Binding var image:UIImage
    var body: some View {
        PencilView(canvas: $canvas)
            .background(Image(uiImage: image).resizable())
    }
    
}

苹果应用商店|搜|王勋才|有我全部作品
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容