手势的使用

iOS让人着迷的地方之一,就是无与伦比的手势操作。记得大学时第一次看到双指缩放图片时的惊奇,以至于玩图片库可以玩一节课。在这里我收集整理一下手势的用法。

iOS中,与手势相关的类继承自UIKit中的UIGestureRecognizer类,它是一个抽象类,定义了所有手势的基本行为,iOS支持的所有基础手势如下:

  • UITapGestureRecognizer 拍击,任意次数的拍击。
  • UIPinchGestureRecognizer 向里或向外捏,用于缩放。
  • UIPanGestureRecognizer 拖拽。
  • UISwipeGestureRecognizer 任意方法的擦碰。
  • UIRotationGestureRecognizer 旋转,比如旋转照片。
  • UILongPressGestureRecognizer 长按。

####UITapGestureRecognizer####
这是我个人用得比较多的一个手势,主要是给没有点击事件的控件添加单击事件。比如给UIImageView添加单击功能。

setNumberOfTapsRequired 方法设置拍击几次响应。
setNumberOfTouchesRequired 方法设置几个手指拍击。

####UILongPressGestureRecognizer####
长按手势就我个人而言,用得次多的手势。主要用于一些隐藏得,有明确指向目标的逻辑触发。

####UISwipeGestureRecognizer和UIPanGestureRecognizer####
擦碰手势和拖动手势有很相似的地方,所以有些童鞋弄得不是很清楚,所以放到一起将。
擦碰手势,分上下左右四个方向,它只是侦测你手指在屏幕上轻扫的方向,然后进行一些功能。

拖动手势UIPanGestureRecognizer与擦碰手势有个最大的区别是,拖动手势手指始终要在屏幕上。而擦碰手势,手指最后是离开屏幕的。

-(CGPoint)translationInView:(UIView *)view 方法返回拖动的距离,传入的view是参照物。 -(CGPoint)velocityInView:(UIView *)view 方法返回拖动的速度,传入的view是参照物。 ####UIPinchGestureRecognizer和UIRotationGestureRecognizer#### 这两个手势我都没有使用过o(╯□╰)o
avatar

Code4Cocoa

A ThoughWorker