ios学习之UISwipeGestureRecognizer手势识别
ios学习之UISwipeGestureRecognizer手势识别
本文部分转自俺是一个瓜娃!!!的博客UISwipeGestureRecognizer ---手指动作,转载过来仅是为了自己查询方便。
tap是指轻触手势。类似鼠标操作的点击。从iOS 3.2版本开始支持完善的手势api:
- tap:轻触
- long press:在一点上长按
- pinch:两个指头捏或者放的操作
- pan:手指的拖动
- swipe:手指在屏幕上很快的滑动
- rotation:手指反向操作
- (void)viewDidLoad
{
[superviewDidLoad];
infoView=[[UIViewalloc] initWithFrame:CGRectMake(20, 300, 768-400, 70)];
infoView.backgroundColor=[UIColorblueColor];
infoView.alpha=0.6;
infoView.layer.cornerRadius=6;
infoView.layer.masksToBounds=YES;
[self.view addSubview:infoView];
/******************监视手势控制*****************/
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[selfview] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
[[selfview] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionDown)];
[[selfview] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[[selfview] addGestureRecognizer:recognizer];
[recognizer release];
}
/******************手势控制操作及切换特效*****************/
//滑动事件1
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer{
//如果往左滑
if(recognizer.direction==UISwipeGestureRecognizerDirectionLeft) {
//先加载数据,再加载动画特效
[self nextQuestion];
self.view.frame = CGRectMake(320, 0, 320, 480);
[UIViewbeginAnimations:@"animationID"context:nil];
[UIViewsetAnimationDuration:0.3f];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationRepeatAutoreverses:NO];
self.view.frame = CGRectMake(0, 0, 320, 480);
[UIViewcommitAnimations];
}
//如果往右滑
if(recognizer.direction==UISwipeGestureRecognizerDirectionRight) {
[self lastQuestion];
self.view.frame = CGRectMake(-320, 0, 320, 480);
[UIViewbeginAnimations:@"animationID"context:nil];
[UIViewsetAnimationDuration:0.3f];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationRepeatAutoreverses:NO];
self.view.frame = CGRectMake(0, 0, 320, 480);
[UIViewcommitAnimations];
}
}
//滑动触发事件2
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"Swipe received.");
if (recognizer.direction==UISwipeGestureRecognizerDirectionDown) {
NSLog(@"swipe down");
[UIViewbeginAnimations:@"animationID"context:nil];
[UIViewsetAnimationDuration:0.7f];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationRepeatAutoreverses:NO];
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlDownforView:self.viewcache:YES];
[infoViewremoveFromSuperview];
[self.view addSubview:infoView];
[UIViewcommitAnimations];
}
if (recognizer.direction==UISwipeGestureRecognizerDirectionUp) {
NSLog(@"swipe up");
[UIViewbeginAnimations:@"animationID"context:nil];
[UIViewsetAnimationDuration:0.7f];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationRepeatAutoreverses:NO];
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.viewcache:YES];
[infoViewremoveFromSuperview];
[self.view addSubview:infoView];
[UIViewcommitAnimations];
}
}
//点击出发事件
-(void)handleTapFrom:(UITapGestureRecognizer *)recognizer{
NSLog(@">>>tap it");
}
ios学习之UISwipeGestureRecognizer手势识别的更多相关文章
- iOS学习路线图
一.iOS学习路线图 二.iOS学习路线图--视频篇 阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天 学习后目标: ...
- IOS触摸事件和手势识别
IOS触摸事件和手势识别 目录 概述 触摸事件 手势识别 概述 为了实现一些新的需求,我们常常需要给IOS添加触摸事件和手势识别 触摸事件 触摸事件的四种方法 -(void)touchesBegan: ...
- 2015最新iOS学习线路图
iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...
- iOS学习-压缩图片(改变图片的宽高)
压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...
- 【原】iOS学习之事件处理的原理
在iOS学习23之事件处理中,小编详细的介绍了事件处理,在这里小编叙述一下它的相关原理 1.UITouch对象 在触摸事件的处理方法中都会有一个存放着UITouch对象的集合,这个参数有什么用呢? ( ...
- iOS学习笔记——AutoLayout的约束
iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...
- 【原】iOS学习47之第三方-FMDB
将 CocoaPods 安装后,按照 CocoaPods 的使用说明就可以将 FMDB 第三方集成到工程中,具体请看博客iOS学习46之第三方CocoaPods的安装和使用(通用方法) 1. FMDB ...
- 黑苹果-IOS学习的开始
深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...
- iOS 学习资源
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...
随机推荐
- selenium操作H5视频
测试网址:http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_video_simplepackage com.allin.pc;import jav ...
- Python3基础 sort 将一个列表中的值升序排列
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- 。【自学总结 3】------3ds Max 主工具栏
1.选择并链接:选择对象,使其和其他对象建立父子关系. 2.断开选择链接:撤销链接关系. 3.选择过滤器列表:可以限制要选择的对象的特定类型和组合.例如,我们选择几何体后,其他对象就无法被选择. 4. ...
- 什么是 Help Desk?
科技如何帮助公司发展,关键就在于保证IT系统的安全稳定运行.我们都知道要保证系统100%可用非常难实现,那么如何在系统故障时减少处置时间?一个有效的办法就是帮助台(Help Desk).那么什么是帮助 ...
- [HIHO1107]Shortest Proper Prefix(trie)
题目链接:http://hihocoder.com/problemset/problem/1107 题意:求有多少非依赖前缀,使得前缀下标识的字符串不超过5个. 这里非依赖的意思是,假如前缀a,b,a ...
- ubunt tmux X Error of failed request
X Error of failed request: BadName (named color or font does not exist) Major opcode of failed req ...
- linux进程编程:子进程创建及执行函数简介
linux进程编程:子进程创建及执行函数简介 子进程创建及执行函数有三个: (1)fork();(2)exec();(3)system(); 下面分别做详细介绍.(1)fork() 函数定 ...
- idea首次提交项目
http://www.cnblogs.com/exmyth/p/6133289.html
- BBC.万物与虚无.Everything.and.Nothing
这么有意思的纪录片怎么能错过 待续~
- Validate Binary Search Tree [LeetCode]
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...