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. 用jxl导出数据到excel

    需要jxl.jar 测试结果没问题,代码: package com; import java.io.File; import java.io.IOException; import java.util ...

  2. len字符串的长度

    #!/usr/bin/env python def fun4(x) : if len(x) > 2 : return print(x[0],x[1]) else: return 0 d = (' ...

  3. svn server

    svn server: 1.c:\Program Files\TortoiseSVN\bin>svnserve -d -r C:\Jasper\Repositories2.change the ...

  4. JQuery对表格进行排序

    添加相关jar <script type="text/javascript" src="jquery-1.1.3.pack.js"></scr ...

  5. AC自动机模板

    贴份模板 胡大神和崔大神的组合模板 #include <iostream> #include<cstdio> #include<cstring> #include& ...

  6. Keycode对照表

    字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 ...

  7. Django1.9开发博客(14)- 集成Xadmin

    xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性: 兼容 Django Admin 使用 B ...

  8. OLE填充EXCEL 多SHEET

    "1 设置行高 "参数说明:行/列号.行高/列宽.R-行 C-列 FORM row_column USING p_r p_width p_type. CASE p_type. WH ...

  9. 算法课堂笔记14—NP-COMPLETENESS

    今天的算法课接着上一节,说的是NP问题. 1.关于什么是P和NP问题 所谓P问题是指所有能在多项式复杂度解决的问题,比如排序算法,n*n复杂度解决问题.而对于有些问题,目前可能没有多项式复杂度的解决方 ...

  10. c#连接各种数据库

    1.C#连接连接Access程序代码: ------------------------------------------------------------------------------- ...