`

iPhone 触摸时UITouch的常用方法及属性

 
阅读更多

再UIView中,可以重些以下四个方法来来控制用户的触摸动作:

 

 

  1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
  2. - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
  3. - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
  4. - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
其中前三个方法很好理解,分别为触摸开始,移动,结束. 最后一个方法通常由系统掉用,比如在系统内存不够时,如果你正在触摸,那么这个方法可能会被得到掉用.但是一般情况下也不需要对此方法做处理.

通过NSSet count 可以获知触摸的指头的个数. Set中每一个元素就是UITouch对象.从UITouch对象中可以获取很多有用的信息.

[touch phase] 就可以获知触摸的方式,它是一个枚举类型来的.

 

typedef enum {

    UITouchPhaseBegan,             // whenever a finger touches the surface.

    UITouchPhaseMoved,             // whenever a finger moves on the surface.

    UITouchPhaseStationary,        // whenever a finger is touching the surface but hasn't moved since the previous event.

    UITouchPhaseEnded,             // whenever a finger leaves the surface.

    UITouchPhaseCancelled,         // whenever a touch doesn't end but we need to stop tracking (e.g. putting device to face)

} UITouchPhase;

 

 

touch tapCount 可以获取这个触摸的点击次数.(类似双击鼠标,如果双击就是2次)

touch timestamp 获取触摸的时间戳,这样可以计算一些点击的频率等应用.

touch locationInView: 获取坐标系,在某个view中

touch previousLocationInView: 获取在某个view中的前一次坐标系

touch gestureRecognizers 这个3.2新增加的(iPad),用于判断手势用

 

新增加的手势判断有以下这几种:

 

 

  • UILongPressGestureRecognizer
  • UIPanGestureRecognizer
  • UIPinchGestureRecognizer
  • UIRotationGestureRecognizer
  • UISwipeGestureRecognizer
  • UITapGestureRecognizer
如果想兼容早期的版本,并且不是在iPad中,那么手势暂时还是只能手动实现.不知道OS4是否已经在iPhone的SDK中增加了这个手势识别.
分享到:
评论

相关推荐

    iOS触摸事件UITouch应用详解

    通过UITouch事件,可以监听到开始触摸、触摸移动过程、触摸结束以及触摸打断四个不同阶段的状态,在这些方法中,我们能够获取到很多有用的信息,比如触摸点的坐标、触摸的手指数、触摸的次数等等,下面通过一个小...

    iOS 使用UITouch移动方块

    `UITouch`对象代表一次触摸事件,当用户触摸屏幕时,系统会创建一个`UITouch`实例,并将其传递给应用程序。这个实例包含了关于触摸事件的信息,如触摸的开始位置、结束位置、以及触摸的阶段(如触摸开始、移动、结束...

    iphone 多点触摸

    iPhone的多点触摸(Multi-Touch)技术是苹果公司的一项革命性创新,它极大地改变了用户与设备的交互方式。自2007年第一代iPhone发布以来,这项技术已经成为iOS设备的核心特性,为用户带来了直观、灵敏且丰富的触控...

    UITouch的實作

    在iOS开发中,`UITouch`是Apple的UIKit框架中一个非常重要的类,它用于处理用户的触摸事件。本文将深入探讨`UITouch`类的实现及其与`UIResponder`的关系,帮助开发者更好地理解和运用这些概念。 `UITouch`类是用户...

    iOS UITouch 文档详细使用说明

    ### iOS UITouch 文档...通过上述介绍,我们了解了`UITouch`的基本概念、属性以及常用方法。掌握这些知识对于开发高质量的iOS应用程序至关重要。希望本文能帮助开发者们更高效地利用`UITouch`类来实现各种交互功能。

    处理iPhone多点触控事件

    开发者应熟悉各种`UITouch`对象的属性和方法,如`locationInView:`和`previousLocationInView:`,以获取触摸的位置信息。此外,通过了解事件对象的`allTouches`属性,可以获取当前所有触摸事件的信息,并且可以将...

    ios基于UITouch的涂鸦板

    同时,`touchesBegan(_:with:)`、`touchesMoved(_:with:)`和`touchesEnded(_:with:)`等`UITouch`相关的代理方法是关键,它们用于捕获和处理用户的触摸事件。 总的来说,这个"ios基于UITouch的涂鸦板"项目涵盖了iOS...

    UIImageview,UITouch,PushImageWithUItouch

    当用户触摸屏幕时,这些方法会被调用。 4. **处理触摸移动**:在`touchesMoved:withEvent:`方法中,你可以获取到触摸点的坐标变化。通过比较前后两次触摸点的差异,判断用户是在向左、向右、向上还是向下滑动。 5....

    UITouch_MultiTouch

    3. `- (UIEvent *)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch`:当使用手势识别器(UIGestureRecognizer)时,这个方法允许开发者决定某个特定的触摸是否...

    知易 Cocos2D-iPhone 游戏开发教程 004

    这部分内容主要介绍了用于处理触摸事件的基础知识,包括Objective-C中用于存储触摸数据的NSSet类及其子类NSMutableSet的使用方法。 **NSSet和NSMutableSet** iPhoneOS通过NSSet来传递硬件传感器传来的各种组合触摸...

    iphone范例代码,多点触控

    当用户在屏幕上触摸时,系统会生成UITouch对象,代表每个单独的触摸点,并将这些对象包含在一个NSSet中,然后将这个NSSet作为参数传递给视图的触摸方法,如touchesBegan:withEvent:、touchesMoved:withEvent:、...

    实现多点触摸

    在iOS开发中,多点触摸(Multi-Touch)是一项核心特性,它允许用户...通过以上的方法和技巧,开发者可以在Objective-C中为iPhone和iPad应用创建丰富的多点触摸交互和流畅的动画体验,提升用户对应用的满意度和沉浸感。

    第八节 检测屏幕触摸事件.docx

    `initWithFrame:`方法用于设置视图的初始位置和大小,`backgroundColor`属性用于设置背景颜色,使其更易于识别触摸区域。通过`[window addSubview:view]`,将`TouchView`添加为窗口的子视图,`[window ...

    iPhone-Touch

    - 触摸坐标系统是相对于视图的,每个`UITouch`对象都有`location(in:)`方法,可以获取触摸点在特定视图坐标系中的位置。 4. **手势识别**: - `UIGestureRecognizer`类是处理常见手势的抽象基类,如轻击(Tap)、...

    IOS 开发之触摸事件详细介绍

    例如,UITouch对象的window和view属性分别表示触摸发生的窗口和视图,tapCount属性用于识别单击、双击或多击,timestamp属性记录了触摸事件的时间戳,而phase属性表示触摸的当前阶段,如 began、moved、ended 或 ...

    ios触摸事件处理

    触摸事件处理涉及的核心概念是UITouch对象,它代表了屏幕上一个手指的触摸。一个UIEvent对象可以包含一个事件中的所有触摸动作,为多点触摸序列提供了一个快照。当手指触击屏幕或在屏幕上移动时,系统会不断向应用...

    ios触摸简单Demo

    当用户在屏幕上触摸或滑动时,系统会创建一个UITouch对象来表示这个触摸,并将其发送到响应链中的第一个对象。 1. **UIResponder**:是所有可以接收和处理事件的对象的基类,包括触摸事件。任何继承自UIResponder的...

    iOS触摸和简单实现

    4. **自定义视图的触摸处理**:在示例项目中,我们可能会在自定义的视图类中重写上述触摸事件处理方法,以便在用户触摸按钮时改变其位置。这需要在`touchesBegan`方法中记录初始触摸点,然后在`touchesMoved`方法中...

Global site tag (gtag.js) - Google Analytics