ios - 在canvasImageView上绘图无法正常工作

标签 ios swift xcode

如果我尝试在canvasImageView框架之外绘制,则正在绘制线条,但如果我触摸canvasImageView的中间,则它根本不起作用。我有层次结构mainView,然后是view,然后是scrollview,然后是canvasView,然后是imageView,然后是canvasImageView来绘制线条

fileprivate func drwaagain(lineappend : [[CGPoint]]) {
    // 1
    let canvasSize = canvasImageView.frame.size


    UIGraphicsBeginImageContextWithOptions(canvasSize, false, 0)


    if let context = UIGraphicsGetCurrentContext() {



        canvasImageView.image?.draw(in: CGRect(x: 0, y: 0, width: canvasSize.width, height: canvasSize.height))


        if(isDrawing)
        {
        lineappend.forEach { (lineappend) in
            for (i, p) in lineappend.enumerated() {


                if i == 0 {
                    context.move(to: p)


                } else {
                    context.addLine(to: p)
                }
            }
        }

        }
        else
        {
            lineremove.forEach { (lineremove) in
                for (i, p) in lineremove.enumerated() {
                    if i == 0 {
                        context.move(to: p)
                    } else {
                        context.addLine(to: p)
                    }
                }
            }
        }


        // 3
        context.setLineCap( CGLineCap.round)
        context.setLineWidth(3.0)
        if(isDrawing)
        {
            context.setStrokeColor(drawColor.cgColor)
            context.setBlendMode( CGBlendMode.normal)

        }
        else
        {

            context.setBlendMode(CGBlendMode.clear)
        }
        context.strokePath()

        canvasImageView.image = UIGraphicsGetImageFromCurrentImageContext()
    }
    UIGraphicsEndImageContext()
}

最佳答案

当我执行绘图时,我禁用了 ScrollView super View 的用户交互,并在完成绘图后再次启用它。

关于ios - 在canvasImageView上绘图无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59284772/

相关文章:

python - 如何将 Tensorflow Simple Audio Recognition frozen graph(.pb) 转换为 Core ML 模型?

ios - 尝试注册 UICollectionViewCell 子类,但不断收到 "Cannot invoke ' registerClass' ......”

objective-c - LLVM 在编译前会做简单的算术运算吗?

ios - 如何使用 Interface Builder 本地化辅助功能标签(描述)?

iOS Swift 不支持的 URL

iOS 7 - 有没有办法禁用 Safari 中的前后滑动功能?

ios - 如何在 Swift 中正确地将 block 处理程序传递给此函数?

swift - 如何使用 Async/Await swift 进行进度报告?

ios - UIPanGestureRecognizer 不能平滑移动物体