我添加了一个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];
}
虽然“Pan”工作完美,拖动图像,但音高不能正常工作。每次放大或缩小时,UIImageView的原点都会弹回我在故事板中选择的位置。我错过了什么?我复制了样本here中的代码,它可以按预期完美地运行。
答案 0 :(得分:1)
所以诀窍是我使用的样本有"使用自动布局"禁用。 Autolayout功能可防止代码将新位置应用于视图(有时)。由于XCode 4.3自动启用了Autolayout功能(之前没有),因此当您逐步重建示例时,如果您下载了它,它将与示例的行为不同,如果它已经足够老了。