老是忘记 mark以下
转自:http://www.oschina.net/code/snippet_54100_8106
UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势:
1、拍击UITapGestureRecognizer (任意次数的拍击)
2、向里或向外捏UIPinchGestureRecognizer (用于缩放)
3、摇动或者拖拽UIPanGestureRecognizer
4、擦碰UISwipeGestureRecognizer (以任意方向)
5、旋转UIRotationGestureRecognizer (手指朝相反方向移动)
6、长按UILongPressGestureRecognizer
对于不同类型的手势识别器,具有不同的配置属性。比如UITapGestureRecognizer,可以配置拍击次数。界面接收到手势之后,可以发送一个消息,用于处理响应手势动作后的任务。当然,不同的手势识别器,发送的消息方法也会有所不同。下面列举几个具体示例代码:
http://www.ctolive.com/space-1023-do-blog-id-2107.html
[代码] 一个手指,拍击两次手势
02 |
UITapGestureRecognizer *oneFingerTwoTaps = |
03 |
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerTwoTaps)] autorelease];
|
06 |
[oneFingerTwoTaps setNumberOfTapsRequired:2]; |
07 |
[oneFingerTwoTaps setNumberOfTouchesRequired:1]; |
10 |
[[self view] addGestureRecognizer:oneFingerTwoTaps]; |
13 |
- ( void )oneFingerTwoTaps
|
15 |
NSLog(@ "Action: One finger, two taps" );
|
[代码] 两个手指,拍击两次手势
01 |
UITapGestureRecognizer *twoFingersTwoTaps = |
02 |
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersTwoTaps)] autorelease];
|
03 |
[twoFingersTwoTaps setNumberOfTapsRequired:2]; |
04 |
[twoFingersTwoTaps setNumberOfTouchesRequired:2]; |
05 |
[[self view] addGestureRecognizer:twoFingersTwoTaps]; |
08 |
- ( void )twoFingersTwoTaps {
|
09 |
NSLog(@ "Action: Two fingers, two taps" );
|
[代码] 一个手指向上、向下擦碰手势
02 |
UISwipeGestureRecognizer *oneFingerSwipeUp = |
03 |
[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeUp:)] autorelease];
|
04 |
[oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp]; |
05 |
[[self view] addGestureRecognizer:oneFingerSwipeUp]; |
07 |
- ( void )oneFingerSwipeUp:(UISwipeGestureRecognizer *)recognizer
|
09 |
CGPoint point = [recognizer locationInView:[self view]];
|
10 |
NSLog(@ "Swipe up - start location: %f,%f" , point.x, point.y);
|
14 |
UISwipeGestureRecognizer *oneFingerSwipeDown = |
15 |
[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeDown:)] autorelease];
|
16 |
[oneFingerSwipeDown setDirection:UISwipeGestureRecognizerDirectionDown]; |
17 |
[[self view] addGestureRecognizer:oneFingerSwipeDown]; |
19 |
- ( void )oneFingerSwipeDown:(UISwipeGestureRecognizer *)recognizer
|
21 |
CGPoint point = [recognizer locationInView:[self view]];
|
22 |
NSLog(@ "Swipe down - start location: %f,%f" , point.x, point.y);
|
[代码] 旋转手势
1 |
UIRotationGestureRecognizer *twoFingersRotate = |
2 |
[[[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersRotate:)] autorelease];
|
3 |
[[self view] addGestureRecognizer:twoFingersRotate]; |
5 |
- ( void )twoFingersRotate:(UIRotationGestureRecognizer *)recognizer
|
8 |
NSLog(@ "Rotation in degrees since last change: %f" , [recognizer rotation] * (180 / M_PI));
|
[代码] 向里或向外捏的手势
1 |
UIPinchGestureRecognizer *twoFingerPinch = |
2 |
[[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingerPinch:)] autorelease];
|
3 |
[[self view] addGestureRecognizer:twoFingerPinch]; |
5 |
- ( void )twoFingerPinch:(UIPinchGestureRecognizer *)recognizer
|
7 |
NSLog(@ "Pinch scale: %f" , recognizer.scale);
|
分享到:
相关推荐
本篇文章将详细讲解如何在iOS的TableView中添加手势以及解决手势与TableView默认行为冲突的问题。 首先,为了在TableView的空白区域添加手势,我们需要创建一个`UITapGestureRecognizer`实例,并将其添加到...
在iOS开发中,手势识别(Gesture Recognizers)是构建用户界面的重要组成部分,它允许应用程序响应用户的触摸动作。本文将深入探讨如何在iOS中实现自定义手势,特别是如何创建一个识别屏幕上画十字的手势。 首先,...
在iOS SDK中,`UIGestureRecognizer` 是所有手势识别类的基类,其中包括常见的 `UIPanGestureRecognizer`(用于拖动)、`UIPinchGestureRecognizer`(用于缩放)和`UIRotationGestureRecognizer`(用于旋转)。...
本资源包“IOS应用源码之手势和触摸 .rar”包含了关于iOS手势识别和触摸事件处理的示例代码,这对于理解并熟练运用这些技术非常有帮助。 一、手势识别(GestureRecognizer) 手势识别是iOS SDK中的一个关键特性,...
总之,`UIGestureRecognizer`是iOS开发中的重要组成部分,熟练掌握并灵活运用各种手势,可以提升应用程序的互动性和可玩性,给用户带来更加直观、自然的操控体验。通过理解手势的基础概念、类型和配置,以及如何在...
1. **UIGestureRecognizer**: 这是iOS中的手势识别类,它允许我们监听和处理各种触摸事件。在这个场景中,我们主要关注的是`UISwipeGestureRecognizer`或者`UIPanGestureRecognizer`,它们可以识别用户的滑动和拖动...
在iOS开发中,手势交互是构建用户界面的重要组成部分,它使得用户可以通过触摸屏幕的各种方式来与应用程序进行互动。本教程将深入探讨如何使用扩展(Extension)和运行时(Runtime)技术,为UIView类添加手势识别...
1. **自定义手势识别器**:有时,系统预定义的手势可能无法满足所有需求,开发者可能会创建自定义手势识别器,这通常涉及继承`UIGestureRecognizer`并重写其相关方法。 2. **手势识别器的连锁与冲突**:当多个手势...
1. **UIGestureRecognizer**:这是iOS SDK中处理用户手势的类,如轻触、滑动、旋转等。在这个场景中,我们通常会使用UISwipeGestureRecognizer,它可以识别用户向左或向右的滑动手势。 2. **UINavigationController...
在iOS开发中,手势识别(Gesture Recognizers)和触摸事件(Touch Events)是构建用户交互界面不可或缺的部分。这些技术使得应用程序能够对用户的屏幕操作做出响应,从而提供更加自然和直观的用户体验。本教程将深入...
这个“iOS应用源码之iOS手势滑动截屏”压缩包中包含的资源,显然是一份用于实现这一功能的源代码。这份源码可以帮助开发者深入了解如何在自己的iOS应用中集成手势识别和屏幕截图的机制,提升用户体验。 首先,我们...
本知识点将深入讲解如何在iOS应用中实现多点触控功能,主要涉及`UIGestureRecognizer`手势识别器和`touchesMoved`方法。 首先,`UIGestureRecognizer`是iOS SDK提供的一种抽象类,用于识别不同的触摸手势,如轻拍...
iOS手势识别为开发者提供了丰富的用户交互可能性。通过`UIGestureRecognizer`及其子类,我们可以轻松地添加点击、双击、旋转、缩放和拖拽等手势到应用中,从而提升用户体验。在实际项目中,根据需求调整手势的灵敏度...
这涉及到手势识别(Gesture Recognition)技术,iOS提供了UIGestureRecognizer类,包括但不限于轻触(Tap)、滑动(Pan)、捏合(Pinch)、旋转(Rotation)和长按(Long Press)等手势。在这个滚动锁中,我们可能会...
在iOS开发中,手势识别(Gesture Recognizers)是构建用户交互界面的重要...总之,理解并熟练使用iOS中的各种手势识别器对于提升应用的用户体验至关重要。正确地实现和组合这些手势,可以使你的应用更加直观、易用。
本项目"ios手势操作演示"是一个使用Swift编写的示例,旨在帮助开发者理解和应用iOS中的手势识别技术。 Swift是Apple为iOS、macOS、watchOS和tvOS平台推出的一种强大且易学的编程语言,它具有现代编程语言的特点,如...
iOS手势主要包括基本手势、复合手势以及自定义手势。 1. 基本手势: - `UIPanGestureRecognizer`: 平移手势,用于检测用户在屏幕上进行的平移操作。 - `UIPinchGestureRecognizer`: 捏合手势,用于识别用户的手指...
在这种情况下,可以通过调整Gesture的delaysTouchesBegan属性或者使用UIPanGestureRecognizer的minimumNumberOfTouches属性来限制手势的触发条件。 6. **自定义手势识别器**:对于更复杂的需求,如需要同时支持...
接下来,我们将详细探讨这四种手势的实现原理及相关的iOS手势识别技术。 1. **自定义手势识别器**: iOS中的手势识别器(UIGestureRecognizer)是UIKit框架的一部分,用于检测并解释用户的触摸行为。开发者可以...