Ios 如何通过将图像视图拖动到图像视图的右角来调整图像视图的大小和旋转图像视图

Ios 如何通过将图像视图拖动到图像视图的右角来调整图像视图的大小和旋转图像视图,ios,uiimageview,rotation,image-resizing,uipangesturerecognizer,Ios,Uiimageview,Rotation,Image Resizing,Uipangesturerecognizer,嗨,我有一个要求,我需要调整大小和旋转图像视图拖动它的右角的图像视图 我可以通过拖动图像视图的角来成功地调整其大小,但在尝试用一个手指为图像视图实现调整大小和旋转功能时失败 谁能指导我达到我的要求 我已经添加了下面的代码,用于从其角边调整图像视图的大小 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [[event allTouches] anyObject]; touchSta

嗨,我有一个要求,我需要调整大小和旋转图像视图拖动它的右角的图像视图

我可以通过拖动图像视图的角来成功地调整其大小,但在尝试用一个手指为图像视图实现调整大小和旋转功能时失败

谁能指导我达到我的要求

我已经添加了下面的代码,用于从其角边调整图像视图的大小

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
touchStart = [[touches anyObject] locationInView:self];
isResizingLR = (self.bounds.size.width - touchStart.x < kResizeThumbSize && self.bounds.size.height - touchStart.y < kResizeThumbSize);
isResizingUL = (touchStart.x <kResizeThumbSize && touchStart.y <kResizeThumbSize);
isResizingUR = (self.bounds.size.width-touchStart.x < kResizeThumbSize && touchStart.y<kResizeThumbSize);
isResizingLL = (touchStart.x <kResizeThumbSize && self.bounds.size.height -touchStart.y <kResizeThumbSize);

}如果没有任何代码,我会想到这样的东西

触摸开始时,存储正在编辑的图像的起点和中心点。(相对于图像超视图的所有点)

然后,比例是相对于触摸到中心点的距离(使用毕达哥拉斯)

此外,您还可以知道从中心点到原始触摸的直线角度(使用三角法)。可以根据开始角度和当前角度之间的差异更改图像的角度

我也会从移动的触摸和触摸开始的功能中提取逻辑。制作calculateRotation函数和calculateScale函数以提供帮助


但目前无法编码。

通过此代码示例调整
UIImageView
的大小

试试这个

我希望它能帮助你

试试这个旋转

self.imgViewForBend.layer.anchorPoint = CGPointMake(0.0,1.0);
self.imgViewForBend.layer.position = CGPointMake(200,300.0);
CGAffineTransform cgaRotateHr = CGAffineTransformMakeRotation(-(3.141/4));
[self.imgViewForBend setTransform:cgaRotateHr];

这当然是你的职责吗?:)您将需要两个变量,一个用于存储初始触摸和中心点之间的起始距离。一个用于存储初始角度。然后需要一个函数来计算角度,一个函数来计算距离。然后根据角度和距离的变化,您可以相应地缩放/旋转图像。谢谢Spynet,但这段代码帮助我调整大小,而不是我需要一些示例来旋转图像视图,与调整大小的方式相同…也请参考此
self.imgViewForBend.layer.anchorPoint = CGPointMake(0.0,1.0);
self.imgViewForBend.layer.position = CGPointMake(200,300.0);
CGAffineTransform cgaRotateHr = CGAffineTransformMakeRotation(-(3.141/4));
[self.imgViewForBend setTransform:cgaRotateHr];