常用手势: 滑动,轻点,捏合,旋转,拖拽,长按

1.滑动(快速滑动)

let swipeUp = UISwipeGestureRecognizer(target: self, action: Selector("swipe:"))
swipeUp.direction = UISwipeGestureRecognizerDirection.Up
self.view.addGestureRecognizer(swipeUp) let swipeDown = UISwipeGestureRecognizer(target: self, action: Selector("swipe:"))
swipeDown.direction = UISwipeGestureRecognizerDirection.Down
self.view.addGestureRecognizer(swipeDown) let swipeLeft = UISwipeGestureRecognizer(target: self, action: Selector("swipe:"))
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
self.view.addGestureRecognizer(swipeLeft) let swipeRight = UISwipeGestureRecognizer(target: self, action: Selector("swipe:"))
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)

获取手势事件

func swipe(recognizer:UISwipeGestureRecognizer){
if recognizer.direction == UISwipeGestureRecognizerDirection.Up{
print("向左滑动")
}else if recognizer.direction == UISwipeGestureRecognizerDirection.Left{
print("向左滑动")
} let point = recognizer.locationInView(self.view)
print(point.x,point.y)
}

2.轻点手势(点击)

//单击监听
let tapSingle = UITapGestureRecognizer(target: self, action: Selector("tapSingleDid"))
tapSingle.numberOfTapsRequired = 1//点按的次数
tapSingle.numberOfTouchesRequired = 1//点按的手指数
//双击监听
let tapDouble = UITapGestureRecognizer(target: self, action: Selector("tapDoubleDid:"))
tapDouble.numberOfTapsRequired = 2
tapDouble.numberOfTouchesRequired = 1
self.view.addGestureRecognizer(tapSingle)
self.view.addGestureRecognizer(tapDouble) //先检测是否为双击,当确定不是双击之后再执行单击
tapSingle.requireGestureRecognizerToFail(tapDouble)

点击事件

  func tapSingleDid(){
print("单击")
} func tapDoubleDid(sender: UITapGestureRecognizer){
if sender.view == self.view{
print("双击")
}
}

3.捏合手势

let pinch = UIPinchGestureRecognizer(target: self, action: Selector("pinchDid:"))
self.view.addGestureRecognizer(pinch)

事件

func pinchDid(pinch:UIPinchGestureRecognizer){
print(pinch.scale)//捏合比例
}

4.旋转手势

let rotation = UIRotationGestureRecognizer(target: self, action: Selector("rotationDid:"))
self.view.addGestureRecognizer(rotation)

事件

func rotationDid(recognizer:UIRotationGestureRecognizer){
print(recognizer.rotation*(180/CGFloat(M_PI)))//转成常用度数了
}

5.拖动手势

var panV : UIView!
panV = UIView(frame: CGRectMake(0, 0, 100, 100))
panV.center = self.view.center
panV.backgroundColor = UIColor.redColor()
self.view.addSubview(panV) let pan = UIPanGestureRecognizer(target: self, action: Selector("panDid:"))
panV.addGestureRecognizer(pan)

事件

func panDid(recognizer:UIPanGestureRecognizer){
let point = recognizer.locationInView(self.view)
panV.center = point
}

6.长按手势

let long = UILongPressGestureRecognizer(target: self, action: Selector("longDid:"))
self.view.addGestureRecognizer(long)

事件

func longDid(recognizer:UILongPressGestureRecognizer){
if recognizer.state == .Began{//由于长按会执行多次,所以需要判断手势状态
print("长按手势触发")
} }

  

来源: http://www.cnblogs.com/spaceID/p/4977559.html

UIGestureRecognizer手势的更多相关文章

  1. 【学习总结】UIGestureRecognizer(手势识别器)

    基本知识点 : -> IOS 3.2之后 , 苹果推出了手势识别功能 ( Gesture Recognizer ) 在触摸事件处理方面 , 简化开发难度. -> UIGesture Rec ...

  2. UIGestureRecognizer 手势浅析

    目录[-] iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用 一.引言 二.手势的抽象类——UIGestureRecognizer 1.统一的初始化方法 2.手势状态 ...

  3. iOS边练边学--UIGestureRecognizer手势识别器简单介绍

    iOS 3.2之后,苹果退出了手势识别功能(Gesture Recognizer),在触摸事件处理方面,大大简化了开发者的开发难度. 一.UIGestureRecognizer UIGestureRe ...

  4. IOS 响应者链条 and UIGestureRecognizer 手势识别器)

    一次完整的触摸事件的传递响应的过程 UIAppliction --> UIWiondw -->递归找到最适合处理事件的控件 控件调用touches方法-->判断是否实现touches ...

  5. UIGestureRecognizer 手势

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.v ...

  6. UI中的七种手势

    // // GestureRecognizerViewController.m #import "GestureRecognizerViewController.h" #impor ...

  7. iOS_38_手势

    Pan平移手势 终于效果图: Swipe轻扫手势 LongPress长按手势 Pinch和Rotation手势 捏合(缩放)和旋转 终于效果图: 涂鸦 终于效果图: 事件分3大类:触摸.加速计.远程遥 ...

  8. UI中各种手势的使用点击,捏合,清扫,旋转,平移,边缘移动,长按

    #import "RootViewController.h" @interface RootViewController (){    UIImageView *imageView ...

  9. DesignModeler GestureRecgin…

    DesignModeler : 设计模式     GestureRecginzer:手势识别 作者:韩俊强 原创版权地址:http://blog.sina.com.cn/s/blog_814ecfa9 ...

随机推荐

  1. MyBatis Generator generatorConfig.xml配置详解

    所有Generator的xml详细说明见:http://mybatis.org/generator/configreference/xmlconfig.html (英文版) 引用 http://blo ...

  2. LINUX下中文语言包的安装(转)

    在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...

  3. 玩转12款Linux开源机器人

    玩转12款Linux开源机器人 头条网2016-02-15 09:04 3DR Solo智能无人机发布于2015年中期.作为试图与大疆广受欢迎的Phantom系列无人机相抗衡的产品,它的双处理器运行L ...

  4. 【动态规划】XMU 1032 装配线问题

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1032 题目大意: 一个物品在2条生产线上加工,每条线上n(n<=1000)个节点 ...

  5. [转]Java Daemon Startup Script

    How to start a Java program as a Linux daemon with an /etc/init.d script. See also: http://www.sourc ...

  6. F - Power Network - poj 1459(简单最大流)

    题目大意:题目说了一大堆,其实都是废话......让人有些不知所云,其实就是给了一些电厂,和一些消费点,然后里面有一些路线什么的,求出消费点可以最多消费的电量是多少. 输入大意: 分析:懂了题意就是一 ...

  7. [置顶] 【Git入门之九】解决冲突

    原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309531 1.多人协作冲突 如果多人同时修改了同一个文件,那会出现什么样 ...

  8. fedora19配置 SSH 免密码登陆

    a.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa b.cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys   ...

  9. 自然语言.例如:求n!。

    (1).定义3个变量i.n及mul,并为i和mul均赋初值为1. (2).从键盘中输入一个数赋给n. (3).将mul乘以i的结果赋给mul. (4)i的值加1,判断i的值是否大于n.如果大于n,则执 ...

  10. ubuntu14.04 安装

    summary: a). the way in the internet just a sugestion, I must to do it  in my own hands, yes ! just ...