Swift 为什么不是';触摸屏开始正常工作了吗?

Swift 为什么不是';触摸屏开始正常工作了吗?,swift,drag-and-drop,touchesbegan,Swift,Drag And Drop,Touchesbegan,我有一个图像,需要在另一个图像上拖动。触摸图像时,触摸开始仅在您触摸图像顶部或正上方的图像时才会注册。触摸图像的中心或顶部以外的任何其他部分都不会产生任何效果。我设置好了吗 override func viewDidLoad() { super.viewDidLoad() imageView.image = selectedPhoto watermarkImageView.image = selectedWatermark } override func touches

我有一个图像,需要在另一个图像上拖动。触摸图像时,触摸开始仅在您触摸图像顶部或正上方的图像时才会注册。触摸图像的中心或顶部以外的任何其他部分都不会产生任何效果。我设置好了吗

override func viewDidLoad() {
    super.viewDidLoad()
    imageView.image = selectedPhoto
    watermarkImageView.image = selectedWatermark
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in touches {
        let location = touch.locationInView(self.view)
        if watermarkImageView.frame.contains(location) {
            watermarkImageView.center = location
        } 
    } 
}

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in touches {
        let location = touch.locationInView(self.view)
        if watermarkImageView.frame.contains(location) {
            watermarkImageView.center = location
        } 
    }
}
override func viewDidLoad(){
super.viewDidLoad()
imageView.image=selectedPhoto
watermarkImageView.image=已选择水印
}
覆盖功能触摸开始(触摸:设置,withEvent事件:UIEvent?){
接触{
让位置=touch.locationInView(self.view)
如果watermarkImageView.frame.contains(位置){
watermarkImageView.center=位置
} 
} 
}
覆盖功能触摸移动(触摸:设置,带事件:UIEvent?){
接触{
让位置=touch.locationInView(self.view)
如果watermarkImageView.frame.contains(位置){
watermarkImageView.center=位置
} 
}
}

两个图像视图都嵌套在另一个视图中。我不得不改变
位置
,以反映这一点

let location = touch.locationInView(imageContainerView)

请注意,如果您没有覆盖所有3个触摸功能,则需要在覆盖功能的顶部调用super。