UIGestureRecognizer手势操作

UIGestureRecognizer类,用来检测,识别用户使用设备时所用的手势,定义了所有手势的基本行为.以下是UIGestureRecognizer子类,哟关于处理具体的用户手势行为。

单击手势

单击手势
UITapGestureRecognizer

UITapGestureRecognizer *singleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(singleTap:)];
    [self.view addGestureRecognizer:singleTap];
//单击事件
-(void)singleTap:(UITapGestureRecognizer *)tapgestrue
{
    NSLog(@"单击");
}

双击手势

UITapGestureRecognizer
UITapGestureRecognizer *doubleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doubleTap:)];
    doubleTap.numberOfTapsRequired=2;
    [self.view addGestureRecognizer:doubleTap];
    //区别单击双击手势
    [singleTap requireGestureRecognizerToFail:doubleTap];

//双击点击事件
-(void)doubleTap:(UITapGestureRecognizer *)taggestrue
{
    NSLog(@"双击");
}

轻扫手势

UISwipeGestureRecognizer *swipeGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)];
    //设置轻扫方向,默认向右    swipeGesture.direction=UISwipeGestureRecognizerDirectionDown;
    [self.view addGestureRecognizer:swipeGesture];

//轻扫事件
-(void)swipe:(UISwipeGestureRecognizer *)swipeGesture
{
    NSLog(@"轻扫手势");
}

//平移

UIPanGestureRecognizer *panGesture=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(pan:)];
    [self.view addGestureRecognizer:panGesture];
   //平移事件
-(void)pan:(UIPanGestureRecognizer *)pan
{
    CGPoint point=[pan locationInView:self.view];
    NSLog(@"%@",NSStringFromCGPoint(point));
}

//长按手势

 UILongPressGestureRecognizer *longPressGesture=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPress:)];
    longPressGesture.minimumPressDuration=2;
    [self.view addGestureRecognizer:longPressGesture];
//长按手势事件
-(void)longPress:(UILongPressGestureRecognizer *)longPress
{
    //长按离开时一会调用一次,所以需要设置手势状态
    if(longPress.state==UIGestureRecognizerStateEnded)
    {
        return;
    }
    NSLog(@"长按超过两秒");
}    

//旋转手势

UIRotationGestureRecognizer *rotation=[[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotation:)];
    [self.view addGestureRecognizer:rotation];
//旋转事件
-(void)rotation:(UIRotationGestureRecognizer *)rotation
{
    //根据旋转的弧度获得角度
    float degree=rotation.rotation*(180/M_PI);
    NSLog(@"%f",degree);
}
时间: 2024-12-13 17:18:35

UIGestureRecognizer手势操作的相关文章

ios的手势操作之UIGestureRecognizer

一.概述 iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)

【转】 ios的手势操作之UIGestureRecognizer浅析

一.概述 iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)

iOS开发——仿Clear纯手势操作的UITableView

前言 在Clear应用中,用户无需任何按钮,纯靠不同的手势就可以完成对ToDoItem的删除.完成.添加.移动.具体来说,功能上有左划删除,右划完成,点击编辑,下拉添加.捏合添加.长按移动.这里将这些功能实现并记录. 左划删除与右划完成 所谓的左右滑动,就是自定义一个cell然后在上面添加滑动手势.在处理方法中计算偏移量,如果滑动距离超过cell宽度一半,就删除它,或者是为文本添加删除线等来完成它:如果没有超过一半,那么就用动画把cell归位. 效果图如下: 关键代码如下: - (void)ha

手势操作

1.创建手势识别的实例 2.设置手势识别器的属性 3.将手势识别添加附加到指定的视图上 4.编写监听的方法 手势的状态: recognizer.state { // 常用的四个: UIGestureRecognizerStateBegan  // 开始 UIGestureRecognizerStateChanged// 改变 UIGestureRecognizerStateEnded // 结束 UIGestureRecognizerStateCancelled// 取消 } 获取这个状态时坐标

iOS手势操作,拖动,轻击,捏合,旋转,长按,自定义(http://www.cnblogs.com/huangjianwu/p/4675648.html)

1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作. UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UITapGestureRecognizer(点按) UILo

UIGestureRecognizer 手势浅析

目录[-] iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用 一.引言 二.手势的抽象类——UIGestureRecognizer 1.统一的初始化方法 2.手势状态 3.常用属性和方法 (1) (2) (3) 4.手势间的互斥处理 三.UIGestureRecognizerDelegate 四.点击手势——UITapGestureRecognizer 五.捏合手势——UIPinchGestureRecognizer 六.拖拽手势——UIPanGestureRe

iOS 手势操作:拖动、捏合、旋转、点按、长按、轻扫、自定义

1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作. UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UITapGestureRecognizer(点按) UILo

手势操作(单击手势,长按手势,策划手势)

1.策划手势操作 // // ViewController.m // 1-28策划手势 // // Created by ma c on 16/1/28. // Copyright © 2016年 bjsxt. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (strong, nonatomic) UISwipeGestureRecognizer *rec

Android学习指南之三十八:Android手势操作编程[转]

手势操作在我们使用智能设备的过程中奉献了不一样的体验.Android开发中必然会进行手势操作方面的编程.那么它的原理是怎样的呢?我们如何进行手势操作编程呢? 手势操作原理 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对