Ios Swift:无法触摸scrollView上的画布视图

Ios Swift:无法触摸scrollView上的画布视图,ios,swift,Ios,Swift,我正在尝试在我的应用程序中构建图像编辑功能。我遵循这一点来启用缩放功能,并为绘图部分启用这一功能 我正在实现绘图部分,并意识到画布视图在覆盖到滚动视图上时没有检测到触摸。当前层次结构如下所示: scrollView -> imageView -> canvas 迄今为止的执行情况: //At the viewController that implements the Canvas UIView var imageView: UIImageView! var canvas = Ca

我正在尝试在我的应用程序中构建图像编辑功能。我遵循这一点来启用缩放功能,并为绘图部分启用这一功能

我正在实现绘图部分,并意识到
画布
视图在覆盖到
滚动视图
上时没有检测到触摸。当前层次结构如下所示:

scrollView -> imageView -> canvas
迄今为止的执行情况:

//At the viewController that implements the Canvas UIView
var imageView: UIImageView!
var canvas = Canvas()

override func viewDidLoad() {
    super.viewDidLoad()

    let image = UIImage(named: "testImage")
    imageView = UIImageView(image: image)

    setupCanvas()
}

func setupCanvas() {
    imageView.addSubview(canvas)
    canvas.backgroundColor = UIColor(white: 1, alpha: 0.4)
    canvas.frame = CGRect(x: 0, y: 0, width: 3000, height: 3000)
    canvas.isUserInteractionEnabled = true
}

//At the Canvas class
class Canvas: UIView {

    override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
        guard let point = touches.first?.location(in: self) else {return}

        print("Moved", point) //Breakpoint here not called
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        guard let point = touches.first?.location(in: self) else {return}
        print("Began", point) //Breakpoint here not called

    }        
}
//在实现画布UIView的viewController处
var-imageView:UIImageView!
var canvas=canvas()
重写func viewDidLoad(){
super.viewDidLoad()
让image=UIImage(名为“testImage”)
imageView=UIImageView(图像:图像)
setupCanvas()
}
func setupCanvas(){
imageView.addSubview(画布)
canvas.backgroundColor=UIColor(白色:1,alpha:0.4)
canvas.frame=CGRect(x:0,y:0,宽度:3000,高度:3000)
canvas.isUserInteractionEnabled=true
}
//在帆布课上
类画布:UIView{
覆盖功能触摸移动(touchs:Set,带有事件:UIEvent?){
guard let point=touch.first?.location(in:self)else{return}
print(“Moved”,point)//此处未调用断点
}
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
guard let point=touch.first?.location(in:self)else{return}
打印(“开始”,点)//此处未调用断点
}        
}

此时,触摸似乎与
滚动视图
交互。是否有办法检测
画布上的
触摸
视图

好的,基本错误。应该是

scrollView.addSubview(canvas)
相反