单指旋转有很多种计算方法,也有很多博客文章讲解原理。
我使用了这样的一种方法进行计算和操作。包含了项目需要的,越界回弹,以及最小缩放回弹。
因为时间原因,真正对缩放旋转的控制,只有几行代码,但是却实现了相对完善的单指的缩放旋转控制。
但是实际使用,稍有抖动,可以考虑进行二阶运算处理。一直没有时间做。
/* ------------
One finger scale and rotate. By Summer.2013-07-05.
------------*/
- (void)panGestureForSARActivated:(UIPanGestureRecognizer *)recognizer
{
UIView *SARTouchView = recognizer.view;
UIView *SARSuperView = recognizer.view.superview;
UIView *SARMainView = recognizer.view.superview.superview;
CGPoint currentPointInSuperView = [recognizer locationInView:SARSuperView];
static CGFloat fristAngle, fristPointToCenterSpace;//at first time, space from touch
static CGPoint centerPoint;
if (recognizer.state == UIGestureRecogni