我正在研究一个非常简单的 Ray Wenderlich iOS“拖动”示例,其中 2 UIImageViews
(猴子和香蕉)可以在屏幕上拖动。它利用UIPanGestureRecognizer
ViewController 实现文件中的 a:
- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}
这很好用,猴子和香蕉会停留在你将它们拖到的任何位置。但是,我想让任何UIImageView
被点击(触摸)的东西成为最顶部的视图。我胡闹了一下,想出了这行代码:
[self.view bringSubviewToFront:recognizer.view];
我把它放在 handlePan 方法中,它确实将点击(触摸)的任何图像带到前面,但它会将前一个图像重置为其在屏幕上的原始位置。如果我省略将触摸的子视图放在前面的代码行,它就不会这样做。
将选定的子视图放在前面将另一个图像重置为其原始位置是什么意思?如何防止这种情况发生UIPanGestureRecognizer
?不走touchesBegan
, touchesEnded
, etc 方法路线?
显然我是 ios 编程的新手,但我找不到可能是一个简单问题的答案。谢谢大家...任何帮助表示赞赏...