我想添加一个Pinch和Pan手势,它会在我的ViewController上裁剪UIImage视图。要裁剪图像,只需捏合/平移相应的图像,它就会调整大小。
我目前有Take Pic和Choose Image按钮相应地将相应的图像抓取到UIImageView框中,但我希望能够在视图中捏合并平移大小并裁剪图像。
我希望盒子保持固定在当前大小,其中的图像将是调整大小和裁剪的图像。
PS。我正在使用故事板
这是我所拥有的截图。 http://i.stack.imgur.com/chkk5.png
我在想,正确的方向是在故事板中为每个uiimageviews添加一个滑动和平移手势,但不知道该怎么做。
答案 0 :(得分:0)
我过去的一般策略是将UIImageView放在另一个UIView中(为了剪辑它)并向父UIView添加UIPinchGestureRecognizer
和UIPanGestureRecognizer
。当您收到其中任何一个的事件时,您将适当的转换应用于UIImageView的transform
属性。
例如,缩放时,您将执行以下操作:
-(void)scale:(UIPinchGestureRecognizer*)pinch
{
float scale = pinch.scale;
imageView.transform = CGAffineTransformScale(imageView.transform, scale, scale);
pinch.scale = 1;
}
重新调整比例的最后一步非常重要,因为您每次只是缩放现有的变换而不是基本身份变换。您应该会发现,您可以使用UIPanGestureRecognizer
及其translationInView:
方法处理转化转换(请记住,您还必须使用setTranslationInView:CGPointZero
重置此转换。
最后,为了获得裁剪/剪裁UIImage
,您可以捕获视图的内容(我相信转换属性仅在iOS 7+上受到尊重),或者将UIImage渲染为{{1并使用相同的变换来转换CGContextRef
。
答案 1 :(得分:0)
您可以使用以下链接...