zoukankan      html  css  js  c++  java
  • ios开发--旋转、移动、缩放手势实例代码

    代码如下:

    C代码  收藏代码
    1. // 添加所有的手势  
    2. - (void) addGestureRecognizerToView:(UIView *)view  
    3. {  
    4.     // 旋转手势  
    5.     UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateView:)];  
    6.     [view addGestureRecognizer:rotationGestureRecognizer];  
    7.       
    8.     // 缩放手势  
    9.     UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchView:)];  
    10.     [view addGestureRecognizer:pinchGestureRecognizer];  
    11.       
    12.     // 移动手势  
    13.     UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panView:)];  
    14.     [view addGestureRecognizer:panGestureRecognizer];  
    15. }  
    16.   
    17. // 处理旋转手势  
    18. - (void) rotateView:(UIRotationGestureRecognizer *)rotationGestureRecognizer  
    19. {  
    20.     UIView *view = rotationGestureRecognizer.view;  
    21.     if (rotationGestureRecognizer.state == UIGestureRecognizerStateBegan || rotationGestureRecognizer.state == UIGestureRecognizerStateChanged) {  
    22.         view.transform = CGAffineTransformRotate(view.transform, rotationGestureRecognizer.rotation);  
    23.         [rotationGestureRecognizer setRotation:0];  
    24.     }  
    25. }  
    26.   
    27. // 处理缩放手势  
    28. - (void) pinchView:(UIPinchGestureRecognizer *)pinchGestureRecognizer  
    29. {  
    30.     UIView *view = pinchGestureRecognizer.view;  
    31.     if (pinchGestureRecognizer.state == UIGestureRecognizerStateBegan || pinchGestureRecognizer.state == UIGestureRecognizerStateChanged) {  
    32.         view.transform = CGAffineTransformScale(view.transform, pinchGestureRecognizer.scale, pinchGestureRecognizer.scale);  
    33.         pinchGestureRecognizer.scale = 1;  
    34.     }  
    35. }  
    36.   
    37. // 处理拖拉手势  
    38. - (void) panView:(UIPanGestureRecognizer *)panGestureRecognizer  
    39. {  
    40.     UIView *view = panGestureRecognizer.view;  
    41.     if (panGestureRecognizer.state == UIGestureRecognizerStateBegan || panGestureRecognizer.state == UIGestureRecognizerStateChanged) {  
    42.         CGPoint translation = [panGestureRecognizer translationInView:view.superview];  
    43.         [view setCenter:(CGPoint){view.center.x + translation.x, view.center.y + translation.y}];  
    44.         [panGestureRecognizer setTranslation:CGPointZero inView:view.superview];  
    45.     }  
    46. }  

    别忘了

    Java代码  收藏代码
    1. [self addGestureRecognizerToView:view];  

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

    C代码  收藏代码
    1. [imageView setUserInteractionEnabled:YES];  
    2. [imageView setMultipleTouchEnabled:YES];  
  • 相关阅读:
    烂泥:高负载均衡学习haproxy之TCP应用
    烂泥:高负载均衡学习haproxy之关键词介绍
    sqlpuls基本命令
    Oracle开机自启动
    centos6.5安装oracle11g_2
    centos7安装图片界面
    centos7安装activemq
    centos7删除自带openjdk
    centos7安装nexus私服2.14
    mysql优化记录
  • 原文地址:https://www.cnblogs.com/lovewx/p/3865172.html
Copyright © 2011-2022 走看看