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手势识别的更多相关文章

  1. iOS学习路线图

    一.iOS学习路线图   二.iOS学习路线图--视频篇       阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天       学习后目标:    ...

  2. IOS触摸事件和手势识别

    IOS触摸事件和手势识别 目录 概述 触摸事件 手势识别 概述 为了实现一些新的需求,我们常常需要给IOS添加触摸事件和手势识别 触摸事件 触摸事件的四种方法 -(void)touchesBegan: ...

  3. 2015最新iOS学习线路图

    iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...

  4. iOS学习-压缩图片(改变图片的宽高)

    压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...

  5. 【原】iOS学习之事件处理的原理

    在iOS学习23之事件处理中,小编详细的介绍了事件处理,在这里小编叙述一下它的相关原理 1.UITouch对象 在触摸事件的处理方法中都会有一个存放着UITouch对象的集合,这个参数有什么用呢? ( ...

  6. iOS学习笔记——AutoLayout的约束

    iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...

  7. 【原】iOS学习47之第三方-FMDB

    将 CocoaPods 安装后,按照 CocoaPods 的使用说明就可以将 FMDB 第三方集成到工程中,具体请看博客iOS学习46之第三方CocoaPods的安装和使用(通用方法) 1. FMDB ...

  8. 黑苹果-IOS学习的开始

    深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...

  9. iOS 学习资源

    这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...

随机推荐

  1. ubuntu下安装、启动和卸载SSH

    想往VMWare虚拟机上的Ubuntu里面拷贝代码,发现之前安装好的secureCRT链接不上.发现是ssh安装配置出了问题,于是就把openssh-server卸载后重装,发现又是与openssh- ...

  2. 20个Linux服务器安全强化建议(一)

    Linux服务器安全对于保护用户数据.知识产权非常重要,同时还能减少你面对黑客的时间.在工作中,通常由系统管理员对Linux的安全负责,在这篇文章中,介绍了20条对Linux系统进行强化的建议.本文所 ...

  3. 微信小程序文件结构

    在小程序的跟目录有三个文件 app.js   小程序逻辑   必须有app.json 小程序公共设置  必须有app.wxss 小程序公共样式表  非必须有 小程序的每个页面是一个文件夹 里面包含4种 ...

  4. Apache Solr 访问权限控制

    Current state of affairs SSL support was added in version 4.2 (SolrCloud v4.7). Protection of Zookee ...

  5. InfoSet

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. CUBRID学习笔记 48查询优化

    cubrid的中sql查询语法 查询优化 c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...

  7. centos7 docker tomcat7

    docker run --name=tomcat7_tmp -ti centos7/jdk7 /bin/bash cd /home wget http://apache.fayea.com/tomca ...

  8. HDU 5842 Lweb and String(Lweb与字符串)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  9. CSS3之尖角标签

    如图所示,Tag标签的制作通常使用背景图片,现在用CSS3代码就能实现尖角效果(需浏览器支持CSS3属性). 运用CSS3样式实现尖角标签,只需要写简单的HTML结构和CSS样式. <p> ...

  10. openstack Icehouse发布

    OpenStack 2014.1 (Icehouse) Release Notes General Upgrade Notes Windows packagers should use pbr 0.8 ...