UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势:
1、拍击UITapGestureRecognizer (任意次数的拍击)
2、向里或向外捏UIPinchGestureRecognizer (用于缩放)
3、摇动或者拖拽UIPanGestureRecognizer
4、擦碰UISwipeGestureRecognizer (以任意方向)
5、旋转UIRotationGestureRecognizer (手指朝相反方向移动)
6、长按UILongPressGestureRecognizer
对于不同类型的手势识别器,具有不同的配置属性。比如UITapGestureRecognizer,可以配置拍击次数。界面接收到手势之后,可以发送一个消息,用于处理响应手势动作后的任务。当然,不同的手势识别器,发送的消息方法也会有所不同。下面列举几个具体示例代码:
一个手指,拍击两次手势
// 创建一个手势识别器
UITapGestureRecognizer *oneFingerTwoTaps =
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerTwoTaps)] autorelease];
// Set required taps and number of touches
[oneFingerTwoTaps setNumberOfTapsRequired:2];
[oneFingerTwoTaps setNumberOfTouchesRequired:1];
// Add the gesture to the view
[[self view] addGestureRecognizer:oneFingerTwoTaps];
消息方法oneFingerTwoTaps
- (void)oneFingerTwoTaps
{
NSLog(@"Action: One finger, two taps");
}
两个手指,拍击两次手势
UITapGestureRecognizer *twoFingersTwoTaps =
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersTwoTaps)] autorelease];
[twoFingersTwoTaps setNumberOfTapsRequired:2];
[twoFingersTwoTaps setNumberOfTouchesRequired:2];
[[self view] addGestureRecognizer:twoFingersTwoTaps];
消息方法twoFingersTwoTaps
- (void)twoFingersTwoTaps {
NSLog(@"Action: Two fingers, two taps");
}
一个手指向上、向下擦碰手势
// 向上擦碰
UISwipeGestureRecognizer *oneFingerSwipeUp =
[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeUp:)] autorelease];
[oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp];
[[self view] addGestureRecognizer:oneFingerSwipeUp];
- (void)oneFingerSwipeUp:(UISwipeGestureRecognizer *)recognizer
{
CGPoint point = [recognizer locationInView:[self view]];
NSLog(@"Swipe up - start location: %f,%f", point.x, point.y);
}
// 向下擦碰
UISwipeGestureRecognizer *oneFingerSwipeDown =
[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeDown:)] autorelease];
[oneFingerSwipeDown setDirection:UISwipeGestureRecognizerDirectionDown];
[[self view] addGestureRecognizer:oneFingerSwipeDown];
- (void)oneFingerSwipeDown:(UISwipeGestureRecognizer *)recognizer
{
CGPoint point = [recognizer locationInView:[self view]];
NSLog(@"Swipe down - start location: %f,%f", point.x, point.y);
}
旋转手势
UIRotationGestureRecognizer *twoFingersRotate =
[[[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersRotate:)] autorelease];
[[self view] addGestureRecognizer:twoFingersRotate];
- (void)twoFingersRotate:(UIRotationGestureRecognizer *)recognizer
{
// Convert the radian value to show the degree of rotation
NSLog(@"Rotation in degrees since last change: %f", [recognizer rotation] * (180 / M_PI));
}
向里或向外捏的手势
UIPinchGestureRecognizer *twoFingerPinch =
[[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingerPinch:)] autorelease];
[[self view] addGestureRecognizer:twoFingerPinch];
- (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer
{
NSLog(@"Pinch scale: %f", recognizer.scale);
}
发表评论
-
IOS开发 多线程 一
2013-11-19 11:46 508原文:http://blog.csdn.net/develo ... -
IOS 学习 Key-value coding
2013-11-19 10:56 833原文:http://blog.csdn.net/develo ... -
IOS block dispatch_queue
2012-11-05 15:04 933研究了3天的block使用,今天终于写出了自己的第一个b ... -
socket编程 详解
2012-08-28 08:57 1102对TCP/IP、UDP ... -
iOS ASIHTTPRequest详解 非常强大
2012-08-27 13:20 2440ASIHTTPRequest对CFNetwork API ... -
今天看了ps的简介,决定一定要把它给学会,首先了解一下基础知识
2012-08-22 00:01 7671.位图图像的概念 位图图像使用像素来表示图像,因此也 ... -
SDWebImage使用,图片加载和缓存
2012-07-04 11:44 2434SDWebImage托管在github上。https:/ ... -
coredata 理解
2012-06-15 13:08 1403昨天开始认真的看coredata的用法,今天终于明白的其中的 ... -
#ifndef、#def、#endif说明
2012-06-13 13:43 898你所遇到的这几个 ... -
ios 数据存储的四种常用方式NSKeyedArchiver/NSUserDefaults/Writ
2012-06-13 10:49 1374OK,今天Himi介绍游戏 ... -
AVAudioPlayer 音频播放器 使用 教程
2012-06-05 14:33 1247IOS中有三种播放音频的方式:AVAudioPlaye ... -
NSAutoReleasePool
2012-05-28 14:40 782好记性不如烂博客. 今天需要记录的是关于NSAutoR ... -
NSLocalizedString 实现国际化
2012-05-28 11:23 854一、获取系统所支持的国际化信息 在国际化之前,你可以在ip ... -
自定义 UIColor baseView 父类子类方法名 不能重复
2012-05-24 11:04 862原来是因为方法名字重复了,因为baseview的方法名和 ... -
Android图片处理(Matrix,ColorMatrix)
2012-05-22 09:24 875在编程中有时候需要 ... -
objectForKey与valueForKey在NSDictionary中的差异
2012-05-18 15:38 807从 NSDictionary 取值的时候有两个方法,ob ... -
symbol(s) not found for architexture i386 路径错误
2012-05-16 09:55 1573昨天这个错误又出现 ... -
symbol(s) not found for architexture i386 报错
2012-05-15 18:40 771我靠啊,今天下午出现了个这个错误,找了好多资料,发现让添加li ... -
symbol(s) not found for architexture i386 报错
2012-05-15 18:40 0我靠啊,今天下午出现了个这个错误,找了好多资料,发现让添加li ... -
推送 证书 联机调试
2012-05-15 15:16 853联机调试出现问题, ...
相关推荐
iOS手势主要包括基本手势、复合手势以及自定义手势。 1. 基本手势: - `UIPanGestureRecognizer`: 平移手势,用于检测用户在屏幕上进行的平移操作。 - `UIPinchGestureRecognizer`: 捏合手势,用于识别用户的手指...
本项目"ios手势操作演示"是一个使用Swift编写的示例,旨在帮助开发者理解和应用iOS中的手势识别技术。 Swift是Apple为iOS、macOS、watchOS和tvOS平台推出的一种强大且易学的编程语言,它具有现代编程语言的特点,如...
**iOS手势解锁详解** 在iOS操作系统中,手势解锁是一种安全且直观的设备解锁方式,它允许用户通过在触摸屏上绘制特定的图案来解锁设备。本文将深入探讨iOS手势解锁的功能、工作原理以及如何实现这一功能。 ### 一...
以下是一些关于iOS手势的重要知识点: 1. **UIGestureRecognizer**: 这是iOS中的主要手势类,它提供了一个框架,用于识别并响应各种触摸事件。UIGestureRecognizer有多种子类,如UIPanGestureRecognizer(拖动)、...
在iOS SDK中,`UIGestureRecognizer` 是所有手势识别类的基类,其中包括常见的 `UIPanGestureRecognizer`(用于拖动)、`UIPinchGestureRecognizer`(用于缩放)和`UIRotationGestureRecognizer`(用于旋转)。...
在iOS应用开发中,手势识别是提升用户体验的关键因素之一,让用户能够通过自然的手势与界面进行交互。本文将深入探讨如何在iOS中实现各种手势识别,包括拖动、缩放、旋转、点击以及手势依赖和自定义手势。 1. ...
在iOS开发中,手势识别(Gesture Recognizers)是构建用户交互界面的重要...总之,理解并熟练使用iOS中的各种手势识别器对于提升应用的用户体验至关重要。正确地实现和组合这些手势,可以使你的应用更加直观、易用。
iOS手势识别为开发者提供了丰富的用户交互可能性。通过`UIGestureRecognizer`及其子类,我们可以轻松地添加点击、双击、旋转、缩放和拖拽等手势到应用中,从而提升用户体验。在实际项目中,根据需求调整手势的灵敏度...
这个“iOS应用源码之iOS手势滑动截屏”压缩包中包含的资源,显然是一份用于实现这一功能的源代码。这份源码可以帮助开发者深入了解如何在自己的iOS应用中集成手势识别和屏幕截图的机制,提升用户体验。 首先,我们...
在iOS开发中,手势识别(Gesture Recognizers)和触摸事件(Touch Events)是构建用户交互界面不可或缺的部分。这些技术使得应用程序能够对用户的屏幕操作做出响应,从而提供更加自然和直观的用户体验。本教程将深入...
只能使用UIGestureRecognizer的子类识别手势,每一个子类识别一个特定的手势。详细介绍。 这个demo使用了以下七种手势: 1. UITapGestureRecognizer 2. UISwipeGestureRecognizer 3. UIPanGestureRecognizer 4. ...
1. **UIGestureRecognizer**:这是iOS SDK中处理用户手势的类,如轻触、滑动、旋转等。在这个场景中,我们通常会使用UISwipeGestureRecognizer,它可以识别用户向左或向右的滑动手势。 2. **UINavigationController...
1. **自定义手势识别**:通过继承`UIGestureRecognizer`或者使用`UIPanGestureRecognizer`,来识别并处理用户的手势操作,特别是右滑手势。 2. **视图控制器的堆栈管理**:在用户滑动过程中,需要正确地管理视图控制...
这份"ios手势和触摸代码完整版.7z"资源很可能是包含了实现这些功能的各种示例代码,帮助开发者深入理解和实践。 首先,我们要了解iOS中的基本触摸事件。iOS设备的屏幕可以检测到多个触摸点,这些触摸事件主要分为...
总之,`UIGestureRecognizer`是iOS开发中的重要组成部分,熟练掌握并灵活运用各种手势,可以提升应用程序的互动性和可玩性,给用户带来更加直观、自然的操控体验。通过理解手势的基础概念、类型和配置,以及如何在...
以下是一些关于iOS手势资料的关键知识点: 1. **UIGestureRecognizer**: 这是iOS SDK中的一个基础类,用于识别和处理各种触摸事件。它提供了多种子类,如UIPanGestureRecognizer(拖动)、UITapGestureRecognizer...
接下来,我们将详细探讨这四种手势的实现原理及相关的iOS手势识别技术。 1. **自定义手势识别器**: iOS中的手势识别器(UIGestureRecognizer)是UIKit框架的一部分,用于检测并解释用户的触摸行为。开发者可以...
在iOS开发中,手势识别(Gesture Recognizers)是构建用户界面的重要组成部分,它允许应用程序响应用户的触摸动作。本文将深入探讨如何在iOS中实现自定义手势,特别是如何创建一个识别屏幕上画十字的手势。 首先,...
总结,iOS手势识别为开发者提供了丰富的交互方式,使得应用的用户体验更加直观和自然。通过合理运用基础手势和自定义手势,以及妥善处理手势冲突,开发者可以创造出更加生动、有趣的iOS应用。在实际项目中,手势的...