ios开发--旋转、移动、缩放手势实例代码

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

代码如下:

C代码

// 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateView:)]; [view addGestureRecognizer:rotationGestureRecognizer]; // 缩放手势 UipinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchView:)]; [view addGestureRecognizer:pinchGestureRecognizer]; // 移动手势 UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panView:)]; [view addGestureRecognizer:panGestureRecognizer]; } // 处理旋转手势 - (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]; } } // 处理缩放手势 - (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]; } }

别忘了

java代码

[self addGestureRecognizerToView:view];

如果处理的是图片,别忘了

C代码

[imageView setUserInteractionEnabled:YES]; [imageView setMultipleTouchEnabled:YES];

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航