我正在尝试在与UiImageView 大小相同的PkCanvasView
图形上叠加一个图形。UiImageView
PkCanvasView
我的问题是我无法将 PkCanvasView 设置为与波纹管视图相同的大小。实际上(查看下面的屏幕截图)似乎PkCanvasView
比图像视图大
我尝试将frame
和 的contentSize
值设置PkCanvasView
为相同的值, UiImageView
但我无法达到预期的结果。
这是我的代码:
class ImageEditor: NSObject, FlutterPlatformView {
private var _view: UIImageView!
private var _image: UIImage!
var _canvas: PKCanvasView!
private var _toolPicker: PKToolPicker
init(
arguments args: Any?,
) {
_image = UIImage.init(contentsOfFile: args as! String)
_view = UIImageView.init(image: _image)
_canvas = PKCanvasView.init(frame: _view.frame)
_toolPicker = PKToolPicker.init()
super.init()
createNativeView(view: _view, canvas: _canvas, toolPicker: _toolPicker)
}
func view() -> UIView {
return _canvas
}
func createNativeView(view _view: UIImageView,canvas _canvas: PKCanvasView,toolPicker _toolPicker: PKToolPicker){
print(_view.frame)
print(_view.frame.size)
_canvas.addSubview(_view)
_view.layer.zPosition = -1
_canvas.isUserInteractionEnabled = false
_canvas.isOpaque = false
_view.contentMode = UIView.ContentMode.scaleAspectFill
_canvas.clipsToBounds = true
_canvas.frame = _view.frame
_canvas.contentSize = _view.frame.size
_canvas.drawingPolicy = PKCanvasViewDrawingPolicy.anyInput
_toolPicker.addObserver(_canvas)
_toolPicker.setVisible(true, forFirstResponder: _canvas)
}
}
在这里,您可以在更大的 PkCanvasView 中看到 UiImage 视图:
谢谢