【发布时间】:2011-12-27 00:12:17
【问题描述】:
我希望用户在屏幕上移动三个图像。例如,你有一个足球、棒球和篮球。我希望用户选择其中一个图像,然后在屏幕上移动该图像而不影响其他两个图像。我看了一些关于让图像在屏幕上移动的教程,但是我很难在几个图像中移动。
使屏幕上的三个图像具有单独的触摸控件(左右拖动)的最佳方法是什么。
【问题讨论】:
标签: iphone objective-c ios xcode ipad
我希望用户在屏幕上移动三个图像。例如,你有一个足球、棒球和篮球。我希望用户选择其中一个图像,然后在屏幕上移动该图像而不影响其他两个图像。我看了一些关于让图像在屏幕上移动的教程,但是我很难在几个图像中移动。
使屏幕上的三个图像具有单独的触摸控件(左右拖动)的最佳方法是什么。
【问题讨论】:
标签: iphone objective-c ios xcode ipad
只需创建一个 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 实例。如果您手动创建图像视图(例如 imageView = [[UIImageView alloc] initWithImage:anImage]),请将 UIImageView 替换为 DragView。您还需要在视图控制器的标题中导入 DragView.h。
如果您通过界面构建器初始化图像视图,您可以使用属性检查器将图像视图的类从UIImageView 更改为DragView。
【讨论】:
touchesMoved 根本没有被调用。