UIPinchGestureRecognizer

UIPinchGestureRecognizer

不幸的是,我在stackoverflow上找不到任何有关我的问题的信息,或者我只是使用了错误的关键字。

我想要一个可以被用户移动和增加或减少的视图。参见图片作为参考。有4个锚点,用户可以使用它们来定义矩形的框架。



您能帮忙找到一种简单的方法来实现这一目标吗?

非常感谢德国的问候,
克里斯

最佳答案

使用这个我已经将其用于imageview,但是您可以将其更改为UIView并确保该视图的userInterAction为True
在.h文件中声明

CGFloat lastScale;


在viewDidLoad中:

UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)];
[pinchRecognizer setDelegate:self];
[imgRotate addGestureRecognizer:pinchRecognizer];


-(void)scale:(id)sender
{
if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded)
{
    lastScale = 1.0;
    return;
}

CGFloat scale = 1.0 - (lastScale - [(UIPinchGestureRecognizer*)sender scale]);

CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform;
CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);

[[(UIPinchGestureRecognizer*)sender view] setTransform:newTransform];

[imgRotate setTransform:newTransform];
lastScale = [(UIPinchGestureRecognizer*)sender scale];
}

08-04 01:56