首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UIPanGestureRecognizer移动UIImageView

使用UIPanGestureRecognizer移动UIImageView
EN

Stack Overflow用户
提问于 2012-07-08 10:24:55
回答 1查看 928关注 0票数 0

我正在尝试为UIImageView实现一个UIPanGestureRecognizer。目前,我可以拖动UIImageView并将其限制在我将其移动到的位置,这是可行的。然而,它移动的似乎是UIImageView的副本,而原始的UIImageView仍在原地不动。为什么会发生这种情况?

创建UIImageView并将其添加到主视图后,我将添加手势识别器:

代码语言:javascript
复制
UIPanGestureRecognizer* pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(tileDragged:)];
pan.maximumNumberOfTouches = 1;
pan.minimumNumberOfTouches = 1;
[tileImageView addGestureRecognizer:pan];

然后在我的tileDragged方法中:

代码语言:javascript
复制
case UIGestureRecognizerStateChanged:
{  
    PuzzleTileView *tileView = (PuzzleTileView *)[self.allTiles objectAtIndex:panGesture.view.tag]; 

    CGFloat x = 0.0;
    CGFloat y = 0.0;

    // x and y are calculated.
    [tileView setTransform:CGAffineTransformMakeTranslation(x, y)];

    break;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-09 23:26:49

这肯定是一个简单的问题,因为你有多个图像。我们很多人把UIImageView拖来拖去都没出意外。您的代码中没有什么明显的东西(尽管我被不同的变量/类名称搞糊涂了),所以您可能需要给我们提供一个更全面的代码示例。您可以尝试添加一些调试消息(例如,在viewDidLoad处记录视图的子视图数,然后在tileDragged方法中再次记录)。

从你的评论中我知道你终于解决了这个问题。恭喜!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11380215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档