【发布时间】:2014-08-04 18:03:23
【问题描述】:
我添加了一个UIImageView,它比主视图小,并在里面放了两个手势。:
- (IBAction)pinch:(UIPinchGestureRecognizer *)recognizer
{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
}
- (IBAction)Pan:(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 的原点都会回到我在情节提要中选择的位置。我想念什么?我从示例 here 复制了代码,它按预期完美运行。
【问题讨论】:
-
您可以将代码发布到视图中添加识别器的位置吗?
-
很遗憾没有,因为我使用 Storyboard。我生成了一个单视图应用程序。添加一个 UIImageView,然后将 Pinch Gesture 拖到该 UIImageView 上,然后将 Gesture 与代码连接起来。我检查了“启用用户交互”。就是这样。
-
好的,我复制并粘贴了您的代码。通过将手势识别器拖到我想要缩放/拖动的视图上,在情节提要中添加了手势识别器,一切都按预期工作。你那里有其他手势识别器吗?
标签: ios objective-c xcode uiimageview uigesturerecognizer