触摸并拖动屏幕上的图像

我有三个图像,我希望用户在屏幕上移动。 例如,你有足球,棒球和篮球。 我希望用户select其中一个图像,然后在屏幕上移动该图像而不影响其他两个。 我看了一些关于在屏幕上移动图像的教程,但是我很难在几个图像上移动。

使屏幕上的三个图像具有单独的触摸控制(拖动)的最佳方式是什么?

简单地创build一个UIImageView子类,对于这个例子,我将它称为DragView,并为每个图像视图使用这个类:

DragView.h

@interface DragView : UIImageView { } @end 

DragView.m

 - (void)touchesMoved:(NSSet *)set withEvent:(UIEvent *)event { CGPoint p = [[set anyObject] locationInView:self.superview]; self.center = p; } 

现在,用户将能够在其超级视图中拖动DragView的任何单个实例。 如果您手动创build图像视图(例如,imageView = [[UIImageView alloc] initWithImage:anImage]), DragView UIImageViewreplace为DragView 。 您还需要在视图控制器的标题中导入DragView.h。

如果通过界面构build​​器初始化图像视图,则可以使用属性检查器将图像视图的类从UIImageView更改为DragView