一.iOS中手势识别入门及简单实用

来源:互联网 发布:网络摄像机通用软件 编辑:程序博客网 时间:2024/05/21 10:53

Demo:http://download.csdn.net/download/liufeng703/9264359
1.iOS中常见的手势有:

Tap(点击),Long Press(长按),Pan(拖动),Swipe(滑动),Rotation(旋转),Pinch(手指的捏合和张开)

2.在iOS中识别手势有两种方式:

手势识别器(UIGestureRecognizer)和触摸事件(UITouch)
  • 2.1手势识别器类(UIGestureRecognizer)

    他为一个抽象类,有6个具体实现类
    UITap、UIPinch、UIRotation、UISwipe、UIPan、UILongPress+
    GestureRecognize

手势识别一定是发生在某一个视图对象上的,要对视图对象进行手势识别

[self.view addGestureRecognizer:具体的手势识别器对象]

通常还要设置属性:通常在ViewDidLoad

self.view.userInteractionEnabled=YES(用户交互)

2.2触摸事件(UITouch)

虽然这个方法在编程时比较麻烦,但可以实现特殊手势。UIView和UIViewController都继承了响应者对象的基类UIResponder,它有4个触摸事件的定义方法

- (void)touchesBegan:withEvent:
- (void)touchesMoved:withEvent:
- (void)touchesEnded:withEvent:
- (void)touchesCancelled:withEvent:

因为触摸事件,简单解释下iOS中事件处理机制:
事件是用户手指触摸屏幕、或滑动、或摇晃,系统不断把这些事件通过消息发送给应用程序对象,在iOS设备中能够捕获的事件有3种:触摸事件,移动事件和多媒体远程控制事件

  • 触摸事件是用户在屏幕上触摸和移动等操作所产生的事件
  • 移动事件是用户移动或者摇晃设备等操作所产生得事件
  • 多媒体远程控制事件是用户通过外接iOS扩展设备并通过相应的操作所产生的事件

UIEvent封装了这3种类型的事件类

感兴趣的可以了解下响应者对象与响应链,笔者对这概念也比较模糊。

1 0
原创粉丝点击