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。