`

sdk 3.0 手势事件

 
阅读更多

一:手势事件类型

 

1.父类

UIGestureRecognizer 是一个抽象类,是所有手势事件的父类。

 

The concrete subclasses of UIGestureRecognizer are the following:

 

UITapGestureRecognizer  //轻拍
UIPinchGestureRecognizer //捏合
UIRotationGestureRecognizer //旋转
UISwipeGestureRecognizer  //扫
UIPanGestureRecognizer//拖拽
UILongPressGestureRecognizer //长按

 

2,如何添加手势事件及响应

 

(1)添加:调用 UIVIEW及其子类的  addGestureRecognizer:

(2)响应函数样式比如是下面两种的一种形式

- (void)handleGesture;
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;

 

     

- (void)viewDidLoad {
//---tap gesture---
UITapGestureRecognizer *tapGesture =[[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleTapGesture:)];
tapGesture.numberOfTapsRequired = 2;
[imageView addGestureRecognizer:tapGesture];
[tapGesture release];
[super viewDidLoad];
}
//---handle tap gesture---
-(IBAction) handleTapGesture:(UIGestureRecognizer *) sender {
if (sender.view.contentMode == UIViewContentModeScaleAspectFit)
sender.view.contentMode = UIViewContentModeCenter;
else
sender.view.contentMode = UIViewContentModeScaleAspectFit;
}

 

3。

UITapGestureRecognizer 

       numberOfTapsRequired  :设置轻击的次数,默认值为1


       numberOfTouchesRequired  :触点的数量,默认值为1,即手指数

 

UIPinchGestureRecognizer

     当两个手指靠近表示zoom-in,当两个手指分离表示zoom-out。

           scale  

@property(nonatomic) CGFloat scale,放大缩小因子


           velocity 

@property(nonatomic, readonly) CGFloat velocity  ,只读属性 ,表示移动速度

 

UIRotationGestureRecognizer

 

       rotation  :旋转角度
       velocity  :速度

 

UISwipeGestureRecognizer 

  direction  :扫动方向,默认值UISwipeGestureRecognizerDirectionRight

 

typedef enum {
   UISwipeGestureRecognizerDirectionRight = 1 << 0,
   UISwipeGestureRecognizerDirectionLeft  = 1 << 1,
   UISwipeGestureRecognizerDirectionUp    = 1 << 2,
   UISwipeGestureRecognizerDirectionDown  = 1 << 3
} UISwipeGestureRecognizerDirection;

 


  numberOfTouchesRequired : 触点的数量,默认值为1,即手指数

 

 

UIPanGestureRecognizer

 

  maximumNumberOfTouches  :最大触摸的数量
  minimumNumberOfTouches  :最少触摸的数量

 

– translationInView:

A point identifying the new location of a view in the coordinate system of its designated superview.

一个点确定一个新的位置其指定的父视图的坐标系统


– setTranslation:inView:

 

 

The velocity of the pan gesture, which is expressed in points per second. The velocity is broken into horizontal and vertical components.

手势的速度这是表示在每分每秒速度分解为水平和垂直分量
– velocityInView:

- (CGPoint)velocityInView:(UIView *)view

 

UILongPressGestureRecognizer

 

  minimumPressDuration  :长按最短的时间
  numberOfTouchesRequired  :
  numberOfTapsRequired  :
  allowableMovement  :长按时运行移动的最大距离,默认值为10个像素

 

 

 

 

手指事件生命周期(状态)

 

取得当前手势状态

@property(nonatomic,readwrite) UIGestureRecognizerState state;

 

 

 

 

 

Possible ----> Began ----> [Changed] ----> Cancelled
Possible ----> Began ----> [Changed] ----> Ended

 

 

typedef enum {    

UIGestureRecognizerStatePossible,     

      UIGestureRecognizerStateBegan,     

 UIGestureRecognizerStateChanged,    

  UIGestureRecognizerStateEnded,     

 UIGestureRecognizerStateCancelled,   

        UIGestureRecognizerStateFailed,     

      UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded  } UIGestureRecognizerState;

 

 

 

 

分享到:
评论

相关推荐

    android-sdk-4.2.2 android-sdk-4.2.2-platforms

    标题中的"android-sdk-4.2.2 android-sdk-4.2.2-platforms"指的是Android SDK的一个特定版本,即Android 4.2.2(API级别17),该版本的SDK平台组件。这个版本是Android操作系统的 Jelly Bean 版本的一部分,发布于...

    The iPhone Developer's Cookbook: Building Applications with the iPhone 3.0 SDK(2nd)

    - **手势与触摸**: 学习如何处理用户的触摸事件和手势操作,例如滑动、双击等,这些是提高应用交互性的关键技巧。 - **表格视图与视图控制器**: 表格视图是iOS应用中常见的界面元素,本书教授如何使用表格视图展示...

    android4.1.2 SDK PLATFORMS

    5. **OpenGL ES 3.0 Preview**:虽然正式支持是在稍后的版本中引入的,但4.1.2开始预览OpenGL ES 3.0,这是一个图形处理的更新,提供了更好的硬件加速和更高级的图形效果,对游戏开发者尤其重要。 6. **Multiscreen...

    flash flex 多点开发包及SDK

    在这个“多点开发包 SDK”中,包含了用于处理和识别多点触控事件的库和API。这些工具使得开发者能够编写能够识别和响应多个触控点的应用程序,例如手势识别(如滑动、旋转、捏合等)和复杂的手势操作。SDK通常会提供...

    手势滑动动画

    开发者可以通过重写`GestureDetector.OnGestureListener`接口中的方法,如`onDown()`, `onFling()`, `onScroll()`等,来响应对应的手势事件。 2. `SwipeRefreshLayout`: 这是Android提供的一个下拉刷新布局,内部...

    UnityEasyARSDKAR制作工具

    2. **交互性**:EasyAR SDK允许开发者添加手势识别、语音识别等多种交互方式,提升用户的参与度和沉浸感。例如,用户可以通过手势控制虚拟对象,或者用语音命令与AR内容进行互动。 3. **3D渲染**:基于Unity引擎,...

    Android 4.2.2 sdk API17

    4. **手势键盘**:在虚拟键盘中增加了手势输入功能,用户可以通过滑动手指来输入文字,提高了输入速度。 5. **日期和时间快捷设置**:在通知栏中,用户可以直接点击日期和时间来快速调整系统设置。 6. **无线显示...

    gesture_recognition_tlt_deepstream:一个项目,演示如何训练您自己的手势识别深度学习管道。 我们从预先训练的检测模型开始,使用Transfer Learning Toolkit 3.0将其重新用于手部检测,然后将其与专用手势识别模型一起使用。 经过培训后,我们将使用Deepstream SDK在NVIDIA:registered:Jetson:trade_mark:上部署此模型

    使用NVIDIA预训练模型和Transfer Learning Toolkit 3.0与机器人创建基于手势的交互在这个项目中,我们演示如何训练您自己的手势识别深度学习管道。 我们从预先训练的检测模型开始,使用Transfer Learning Toolkit ...

    XCode 4.2 & iOS5 SDK

    4. **LLVM 3.0**:Xcode 4.2采用了LLVM 3.0编译器,提供了更快的编译速度和更优化的代码,支持更多语言特性,如C++11。 5. **更快的模拟器**:Xcode 4.2中的iOS模拟器进行了优化,运行速度更快,更接近真实设备的...

    AS3与Kinect

    AS3(ActionScript 3.0)是Adobe Flash平台的核心编程语言,广泛应用于创建互动式网页、游戏和富媒体应用程序。而微软的Kinect是一款创新的体感输入设备,通过深度传感器和摄像头捕捉用户的身体动作,实现了无触控的...

    swift-集成环信3.0自己写的对键盘处理跟微信键盘弹出隐藏还有输入非常像但是没有封装

    实现这样的工具栏,我们可以自定义一个UIView子类,添加各种输入相关的按钮,并通过手势识别器或者点击事件来处理用户的交互。 虽然这个项目没有将键盘处理功能封装为一个单独的组件,但这是一个很好的实践,可以...

    android专业开发附件代码

    源码可能会演示如何优雅地处理触摸事件,以及如何实现手势识别。 8. **图形和动画**: Android 3.0加强了图形和动画的能力,源码可能包含使用Canvas、OpenGL ES或动画库进行高性能图形绘制的示例。 9. **内容提供...

    Pose-Tracker-with-Openpose-ROS:该存储库可帮助您通过比较主体节点的位置并估计用户摆出的手势来从Openpose节点发布者中提取有用的信息

    它是在以下平台上开发和测试的: Ubuntu 16.04 ROS动力学Openpose软件CUDA 8.0 OpenCV 3.2以上Librealsense SDK 2.10.0+硬体需求项目使用以下硬件: 英特尔酷睿i7 6700HQ Nvidia Mobile Gtx 960 RealSense SR300...

    应用源码之GalleryDemo.zip

    8. **手势识别:** 为了增强用户体验,可能还包含了手势识别功能,比如捏合手势进行图片的缩放。 9. **Android SDK:** 该项目基于Android SDK开发,使用了特定的API级别。根据源码中的其他信息,可能是针对较低...

    VRE编程的实例程序

    1. **环境搭建**:在开始VRE编程之前,需要安装VRE 3.0 SDK(Software Development Kit),SDK通常包括了编译器、库文件、示例代码、文档等资源。 2. **语言支持**:VRE可能支持多种编程语言,如C++、Python或者...

    android仿美图秀秀 图片叠加拖动旋转

    同样,可以监听触摸事件,当检测到用户旋转手势(通常是两个手指张开或合拢)时,根据角度差调整`rotation`值。使用`Matrix`类可以更精确地控制旋转,它允许你在坐标空间中对图像进行变换,包括旋转、缩放和平移。 ...

    Apress.Pro.Android.Flash.Jul.2011.7z

    6. **触摸事件处理**:与桌面平台不同,Android设备主要依赖触摸交互,因此理解如何处理触摸事件和手势识别是关键。 7. **多媒体支持**:Flash在处理音频和视频方面具有强大能力,可以轻松集成到Android应用中,...

    目前最好的英文android教程

    还会涉及触摸事件处理、手势识别和动画效果的实现。 5. **Intent和Intent Filter**:作为组件间通信的核心机制,Intent的使用方法和Intent Filter的配置是开发者必须掌握的。 6. **数据存储**:探讨SQLite数据库的...

    Android4.2 ApiDemo

    - **键盘手势输入API**:展示了如何实现键盘的手势输入功能,以及如何处理相应的事件。 - **照片Sphere API**:提供全景拍照功能的实现,包括图像的拼接和展示。 - **OpenGL ES 3.0 API**:包含使用新图形库进行3D...

    android手机特效开发

    在Android手机特效开发中,开发者可以利用Android SDK提供的丰富的API和工具来创建各种吸引人的视觉效果,提升用户体验。本资源包含的"第12章 手机特效开发"可能涵盖了一系列关于Android特效实现的实例和代码,对于...

Global site tag (gtag.js) - Google Analytics