手势

原创 2015年11月20日 11:06:02
//先建一个视图图片
    UIImageView *image1 =[[UIImageView alloc]initWithFrame:CGRectMake(30, 30, 300, 300)];
    image1.image =[UIImage imageNamed:@“12"];
    image1.center =self.view.center;
    [
self.view addSubview:image1];
    [image1
release];
    //
    //打开交互
    image1.userInteractionEnabled =YES;



 /************* 轻拍  ****************/
    UITapGestureRecognizer *tap =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
   
//点击次数
    tap.
numberOfTapsRequired =2;
   
//手指个数
    tap.
numberOfTouchesRequired =2;
   
    [image1 
addGestureRecognizer:tap];
    [tap release];
/*************  轻拍方法  ************/

- (
void)tapAction:(UITapGestureRecognizer *)tap{
   
   
   
NSLog(@"轻拍");
}


/*************  轻扫  ******************/
   
   
UISwipeGestureRecognizer *swipe =[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction:)];
     //默认向右扫
   
//方向只能正方向,不能斜着扫
   
//只能上下一起
    //或者左右一起
    swipe.direction =swipe.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft;
    [image1
addGestureRecognizer:swipe];
    [swipe release];
//或是  | ,就是一个|

/*************  轻扫方法 swipe ************/
- (void)swipeAction:(UISwipeGestureRecognizer *)swipe
{
   
if (swipe.direction == UISwipeGestureRecognizerDirectionLeft) {
       
NSLog(@"向左");
    }
   
NSLog(@"轻扫");
   
}


 /************* 捏合 pinch *****************/
        UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];
        [image1
addGestureRecognizer:pinch];
        [pinch release];
/************* 捏合 pinch方法 **************/
- (void)pinchAction:(UIPinchGestureRecognizer *)pin
{
      NSLog(@"捏合");
   
// 捏合时 等比例缩放图片
   
UIImageView *image1 = (UIImageView *)pin.view;
   
// 设置比例
   
// scale比例
   
// 参数1: 要缩放的视图的transform
   
// 参数2: 横向比例
    // 参数3: 纵向比例
    // scale:相对接触点的缩放比例在屏幕协调
    [image1 setTransform:CGAffineTransformScale(image1.transform, pin.scale, pin.scale)];
     //缩放结束之后,将缩放比例设置为1
    pin.scale = 1;
}


   /*************旋转 rotation ***********/
#if 0
    {
       
UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationAction:)];
        [image1
addGestureRecognizer:rotation];
        [rotation
release];
       
       
    }
#endif
  /*************旋转 rotation ************/
- (void)rotationAction:(UIRotationGestureRecognizer *)rot
{
   
NSLog(@"旋转~跳跃~");
   
// 获取旋转手势时 让图片跟随旋转
   
// 1.获取图片对象
   
UIImageView *image1 = (UIImageView *)rot.view;
   
// 2.设置视图的transform属性
   
// transform视图的变形属性
    [image1
setTransform:CGAffineTransformMakeRotation(rot.rotation)];
   
NSLog(@"%@", image1);
   
}
 

 #if 0  /*************  拖拽pan *********/
{
       
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
        [image1
addGestureRecognizer:pan];
        [pan
release];
    }
#endif
/************** pan拖拽  ****************/
- (void)panAction:(UIPanGestureRecognizer *)pan
{
   
NSLog(@"拖拽");
   
// 拖拽视图
   
UIImageView *panView = (UIImageView *)pan.view;
   
// 获取拖拽时 经过的点
   
CGPoint p = [pan translationInView:panView];
   
// 设置transform
    [panView
setTransform:CGAffineTransformTranslate(panView.transform, p.x, p.y)];
   
// 设置跟随属性
    [pan
setTranslation:CGPointZero inView:panView];

}


#if 0 /**********  长按longPress***********/
    {
       
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)];
       
// 需要多长时间触发
        longPress.
minimumPressDuration = 2;
       
// 允许移动的距离
        longPress.
allowableMovement = 200;
       
// 添加
        [image1
addGestureRecognizer:longPress];
        [longPress
release];
    }
#endif

/********  长按longPress ******************/
- (void)longPressAction:(UILongPressGestureRecognizer *)longPress
{
   
// 其他手势也可以触发长按 可以通过状态来判断
   
//UIGestureRecognizerStateBegan  姿态识别器状态开始了
   
if (longPress.state == UIGestureRecognizerStateBegan) {
       
NSLog(@"长按");
    }

}


Gesture手势及手势库

Gesture手势及手势库 一、Gesture基础: (一)、概念:         所谓手势,其实是指用户手指或者触摸笔在触摸屏上的连续触碰行为。比如在屏幕上从左至右划...
  • ElevenDGQ
  • ElevenDGQ
  • 2016年05月24日 16:09
  • 1311

UIView实现简单触摸拖拽手势

1.首先要创建一个UIView,不管你是用Storyboard拖入,还是在代码里自己创建。 2.创建一个拖拽手势 3.创建一个拖拽手势所对应的function 4.在function中实现UIV...
  • sinat_31709565
  • sinat_31709565
  • 2016年01月12日 15:20
  • 1196

Android手势密码实现方案

一、大致界面介绍: 图1 图2 图3 图4 图1:手势密码绘制界面 【主要是绘制上方的9个提示图标和9个宫格密码图标】 图2:设置手...
  • sdjianfei
  • sdjianfei
  • 2016年04月27日 15:55
  • 6305

谷歌鼠标手势插件

  • 2018年01月12日 09:49
  • 262KB
  • 下载

鼠标手势Install WGestures

  • 2018年01月13日 14:19
  • 2.77MB
  • 下载

FingerGestures手势识别插件

  • 2017年10月18日 15:34
  • 47B
  • 下载

头像随手势缩放

  • 2017年07月15日 17:50
  • 531KB
  • 下载

手势放大缩小

  • 2015年02月26日 09:53
  • 1.88MB
  • 下载

根据手势滑动

  • 2015年01月16日 09:24
  • 242KB
  • 下载

复杂背景下基于空间分布特征的手势识别算法_杨波

  • 2015年09月08日 20:28
  • 885KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:手势
举报原因:
原因补充:

(最多只允许输入30个字)