在拖动时展开视图

时间:2013-09-05 12:15:04

标签: iphone ios ipad view frame

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

我希望有一个可以被用户移动,增加或减少的视图。请参阅图像作为参考。有4个锚点,用户可以使用它定义矩形的框架。

reference

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

非常感谢德国, 克里斯

1 个答案:

答案 0 :(得分:3)

使用此我已将其用于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];
}