iOS开发UI篇—手势识别器(长按+轻扫)

iOS开发UI篇—手势识别器(长按+轻扫)

一、长按事件

 1 //
 2 //  YYViewController.m
 3 //  03-长按
 4 //
 5 //  Created by apple on 14-6-19.
 6 //  Copyright (c) 2014年 itcase. All rights reserved.
 7 //
 8
 9 #import "YYViewController.h"
10
11 @interface YYViewController ()
12 @property (weak, nonatomic) IBOutlet UIView *iconView;
13
14 @end
15
16 @implementation YYViewController
17
18 - (void)viewDidLoad
19 {
20     [super viewDidLoad];
21
22     //长按事件
23     //1.创建一个手势识别器对象
24     UILongPressGestureRecognizer *longpress=[[UILongPressGestureRecognizer alloc]init];
25
26     //2.设置长按手势识别器的属性
27     //设置最小停留时间
28 //    longpress.minimumPressDuration=3;
29     //手指按下后事件响应前允许手指移动的偏移量
30     longpress.allowableMovement=50;
31
32     //3.添加手势识别器到view
33     [self.iconView addGestureRecognizer:longpress];
34
35     //4.监听手势识别器
36     [longpress addTarget:self action:@selector(longpressView)];
37 }
38
39 -(void)longpressView
40 {
41     NSLog(@"发生了长按事件");
42 }
43
44 @end

步骤

(1)创建手势识别器

(2)添加手势识别器

(3)监听

二、轻扫事件

 1 //
 2 //  YYViewController.m
 3 //  04-轻扫
 4 //
 5 //  Created by apple on 14-6-19.
 6 //  Copyright (c) 2014年 itcase. All rights reserved.
 7 //
 8
 9 #import "YYViewController.h"
10
11 @interface YYViewController ()
12 @property (weak, nonatomic) IBOutlet UIView *iconView;
13
14 @end
15
16 @implementation YYViewController
17
18 - (void)viewDidLoad
19 {
20     [super viewDidLoad];
21
22     //1.创建手势识别器(轻扫事件)
23     UISwipeGestureRecognizer *swipe=[[UISwipeGestureRecognizer alloc]init];
24
25     //2.设置手势识别器的属性
26     //默认为向右
27     //设置手指向右轻扫的时候触发
28 //    swipe.direction=UISwipeGestureRecognizerDirectionUp;
29     //设置向下和向上两个方向轻扫
30     swipe.direction=UISwipeGestureRecognizerDirectionDown|UISwipeGestureRecognizerDirectionUp;
31
32
33     //3.添加手势识别器
34     [self.iconView addGestureRecognizer:swipe];
35
36     //4.监听手势
37     [swipe addTarget:self action:@selector(swipeView)];
38 }
39
40 -(void)swipeView
41 {
42     NSLog(@"手指在屏幕上轻扫");
43 }
44
45 @end

提示:swipe.direction=UISwipeGestureRecognizerDirectionDown|UISwipeGestureRecognizerDirectionUp;这种方式最多只支持个方向的清扫。
设置支持四个方向的轻扫事件,代码如下:

 1 //
 2 //  YYViewController.m
 3 //  05-轻扫2
 4 //
 5 //  Created by apple on 14-6-19.
 6 //  Copyright (c) 2014年 itcase. All rights reserved.
 7 //
 8
 9 #import "YYViewController.h"
10
11 @interface YYViewController ()
12 @property (strong, nonatomic) IBOutlet UIView *iconView;
13
14 @end
15
16 @implementation YYViewController
17
18 - (void)viewDidLoad
19 {
20     [super viewDidLoad];
21
22     //设置四个方向的轻扫
23     //向左
24     UISwipeGestureRecognizer *swipeleft=[[UISwipeGestureRecognizer alloc]init];
25     //设置轻扫的方向
26     swipeleft.direction=UISwipeGestureRecognizerDirectionLeft;
27     [self.iconView addGestureRecognizer:swipeleft];
28     [swipeleft addTarget:self action:@selector(swipeleftView)];
29
30     //向右
31     UISwipeGestureRecognizer *swiperight=[[UISwipeGestureRecognizer alloc]init];
32     //设置轻扫的方向
33     swiperight.direction=UISwipeGestureRecognizerDirectionRight;
34     [self.iconView addGestureRecognizer:swiperight];
35     [swiperight addTarget:self action:@selector(swiperightView)];
36
37     //向下
38     UISwipeGestureRecognizer *swipedown=[[UISwipeGestureRecognizer alloc]init];
39        //设置轻扫的方向
40     swipedown.direction=UISwipeGestureRecognizerDirectionDown;
41     [self.iconView addGestureRecognizer:swipedown];
42     [swipedown addTarget:self action:@selector(swipedownView)];
43
44     //向上
45     UISwipeGestureRecognizer *swipeup=[[UISwipeGestureRecognizer alloc]init];
46        //设置轻扫的方向
47     swipeup.direction=UISwipeGestureRecognizerDirectionUp;
48     [self.iconView addGestureRecognizer:swipeup];
49     [swipeup addTarget:self action:@selector(swipeupView)];
50
51     //简略写法
52   [ self.iconView addGestureRecognizer: [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(abc)] ];
53
54 }
55
56 -(void)abc
57 {
58 }
59 -(void)swipeleftView
60 {
61     NSLog(@"手指向左轻扫");
62 }
63
64 -(void)swiperightView
65 {
66     NSLog(@"手指向右轻扫");
67 }
68 -(void)swipedownView
69 {
70     NSLog(@"手指向下轻扫");
71 }
72 -(void)swipeupView
73 {
74     NSLog(@"手指向上轻扫");
75 }
76 @end

iOS开发UI篇—手势识别器(长按+轻扫)

时间: 2024-11-23 10:39:10

iOS开发UI篇—手势识别器(长按+轻扫)的相关文章

iOS开发UI篇—手势识别器(敲击)

iOS开发UI篇—手势识别器(敲击) 一.监听触摸事件的做法 如果想监听一个view上面的触摸事件,之前的做法通常是:先自定义一个view,然后再实现view的touches方法,在方法内部实现具体处理代码 通过touches方法监听view触摸事件,有很明显的几个缺点 (1)必须得自定义view (2)由于是在view内部的touches方法中监听触摸事件,因此默认情况下,无法让其他外界对象监听view的触摸事件(需要通过代理) (3)不容易区分用户的具体手势行为 iOS 3.2之后,苹果推出

IOS开发UI篇—手势识别器(拖拽+旋转+缩放)

IOS开发UI篇—手势识别器(拖拽+旋转+缩放) 一.拖拽 示例代码: 1 // 2 // YYViewController.m 3 // 06-拖拽事件 4 // 5 // Created by apple on 14-6-19. 6 // Copyright (c) 2014年 itcase. All rights reserved. 7 // 8 9 #import "YYViewController.h" 10 11 @interface YYViewController ()

iOS开发UI高级手势识别器

####手势识别器 UIGestureRecognizer类 ·UITapGestureRecognizer(轻击) ·UIPinchGestureRecognizer(捏合) ·UIPanGestureRecognizer(平移) 事实调用 ·UISwipeGestureRecognizer(轻扫) ·UIRotationGestureRecognizer(旋转) ·UILongPressGestureRecognizer(长按) alloc initwithTar [singleTap re

iOS开发UI篇—实现一个简单的手势解锁应用(基本)

iOS开发UI篇—实现一个简单的手势解锁应用(基本) 一.实现效果 实现效果图: 二.手势解锁应用分析 1.监听手指在view上的移动,首先肯定需要自定义一个view,重写touch began,touch move等方法,当手指移动到圈上时,让其变亮.可以通过button按钮来实现. 2.界面搭建 背景图片(给控制器的view添加一个imageview,设置属性背景图片) 九个按钮(把九个按钮作为一个整体,使用一个大的view来管理这些小的view,这些小的view就是9个button.如果使

iOS开发UI篇—实现一个简单的手势解锁应用(完善)

iOS开发UI篇—实现一个简单的手势解锁应用(完善) 一.需要实现的效果 二.应用完善 1.绘制不处于按钮范围内的连线 2.解决bug(完善) bug1:如果在began方法中通知view绘图,那么会产生bug.因为,当前点没有清空,在手指移开之后要清空当前点.可以在绘制前进行判断,如果当前点是(0,0)那么就不划线.或者在began方法中不进行重绘. bug2:无限菊花.自定义view的背景色为默认的(黑色),只要重写了drawrect方法,view默认的背景颜色就是黑色的,因为上下文默认的颜

iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

文顶顶 iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

iOS开发UI篇—Quartz2D使用(矩阵操作)

iOS开发UI篇-Quartz2D使用(矩阵操作) 一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: 1 - (void)drawRect:(CGRect)rect 2 { 3 //画四边形 4 //获取图形上下文 5 CGContextRef ctx=UIGraphicsGetCurrentContext(); 6 //绘图 7 CGContextAddRect(ctx, CGRectMake(20, 50, 100, 100)); 8 //渲染

文顶顶 iOS开发UI篇—iOS开发中三种简单的动画设置

iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所