【问题标题】:Touch and drag an image around the screen触摸并在屏幕上拖动图像
【发布时间】:2011-12-27 00:12:17
【问题描述】:

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

使屏幕上的三个图像具有单独的触摸控件(左右拖动)的最佳方法是什么。

【问题讨论】:

    标签: iphone objective-c ios xcode ipad


    【解决方案1】:

    只需创建一个 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

    【讨论】:

    • 我尝试通过 IB 属性检查器更改图像类,但图像根本没有移动。
    • 不适合我。我完全按照你在这里写的做了,但是 touchesMoved 根本没有被调用。
    • 确保您的图像视图已将 'userInteractionEnabled' 设置为 true 或 YES
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多