UIImageView經(jīng)過手勢縮放、旋轉之后如何還原

// 處理縮放手勢?

?- (void) pinchView:(UIPinchGestureRecognizer *)pinchGestureRecognizer?

?{? ? ??

UIView *view = pinchGestureRecognizer.view;? ? ??

if (pinchGestureRecognizer.state == UIGestureRecognizerStateBegan || pinchGestureRecognizer.state == UIGestureRecognizerStateChanged)?

{? ? ? ? ?

?view.transform = CGAffineTransformScale(view.transform, pinchGestureRecognizer.scale, pinchGestureRecognizer.scale);? ? ? ? ? pinchGestureRecognizer.scale = 1;? ? ?

?}??

}??

?// 處理拖拉手勢?

?- (void) panView:(UIPanGestureRecognizer *)panGestureRecognizer??

{? ? ?

?UIView *view = panGestureRecognizer.view;? ?

?? if (panGestureRecognizer.state == UIGestureRecognizerStateBegan || panGestureRecognizer.state == UIGestureRecognizerStateChanged)

?{? ? ? ? ?

?CGPoint translation = [panGestureRecognizer translationInView:view.superview];? ? ??

?[view setCenter:(CGPoint){view.center.x + translation.x, view.center.y + translation.y}];? ? ? ??

? [panGestureRecognizer setTranslation:CGPointZero inView:view.superview];? ? ? }?

?}?

?// 處理旋轉手勢??

- (void) rotateView:(UIRotationGestureRecognizer *)rotationGestureRecognizer? {? ? ??

UIView *view = rotationGestureRecognizer.view;? ??

? if (rotationGestureRecognizer.state == UIGestureRecognizerStateBegan || rotationGestureRecognizer.state == UIGestureRecognizerStateChanged)?

{? ? ? ? ?

?view.transform = CGAffineTransformRotate(view.transform, rotationGestureRecognizer.rotation);? ? ? ? ?

?[rotationGestureRecognizer setRotation:0];? ? ?

?}??

}? ??

重點!?。≡谛枰€原的地方寫下這么一行代碼,完美!??!

? imageView.transform = CGAffineTransformIdentity;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容