UITapGestureRecognizer 获取点击位置

原来我自定义过UITextView,然后将捕获 touchesBegan,touchesMoved和touchesEnded的事件后交给父层去处理,这样就可以UITextView上进行手势翻页 等处理,今天想要故伎重演在UIWebView上,结果失败了。后来用了一种最最简单的办法实现了。

你猜对了,是UITapGestureRecognizer,贴上代码。

在UIViewController中,加入协议UIGestureRecognizerDelegate,然后.m文件里加入以下代码:

UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleTap]; //这个可以加到任何控件上,比如你只想响应WebView,我正好填满整个屏幕singleTap.delegate = self;
singleTap.cancelsTouchesInView = NO;
[singleTap release];

然后有一个关键的,要实现一个方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

最后,响应的方法中,可以获取点击的坐标哦!

-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
    CGPoint point = [sender locationInView:self.view];
    NSLog(@"handleSingleTap!pointx:%f,y:%f",point.x,point.y);
}

好了,得到启发了吧,也能获取到坐标了。不过如果你要直接判断手势方向之类的,比如向左或向右轻扫,可以使用UISwipeGestureRecognizer类,具体可参考这编文章:http://o0o0o0o.iteye.com/blog/875333

时间: 2024-10-11 12:31:05

UITapGestureRecognizer 获取点击位置的相关文章

javascript获取鼠标点击位置的坐标兼容写法

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>获取鼠标点击位置</title> 6 <script> //考虑浏览器滚动条 7 function getMousePos(event) { 8 var e = event || window.event; 9 var scr

MFC中如何在TreeCtrl控件中获取鼠标左键消息时的有效点击位置

MFC中,当在TreeCtrl控件中添加鼠标左键消息时,就意味着,凡是在该控件中点击左键后即会响应鼠标左键的消息,可有时我们只想记下有效的鼠标左键点击的事件,如图所示: 只想在CheckBox中点击鼠标左键时,将已选中的Item的句柄存入到链表中,那么如何只将有效的鼠标左键的消息存入链表中呢? 下面是响应鼠标左键消息时从所有鼠标左键消息都响应到只响应有效的左键消息的三个版本: 当响应鼠标左键的消息时,第一个版本: 获取鼠标的点击位置(注意:此时获取的是针对于当前屏幕的鼠标点击位置,所以需要将其转

Unity获取鼠标点击位置,物体朝鼠标点击处移动

大型游戏中经常会有这种场景,点击屏幕位置,人物就会朝着鼠标点击位置移动,下面我们就来实现这种效果. 首先,我们在场景中添加一个Plane,并且设置它的tag为Plane,然后,在Plane上面添加一个Cube,设置好位置,刚好放置在Plane上面,最后,给cube添加一个脚本,脚本内容如下: using UnityEngine; using System.Collections; public class RayCastTest : MonoBehaviour { //cube移动速度 publ

UIWebView之获取所点位置的图片标签和src

UIWebView有自己的UIResgure,如果我们手动加入自己的GestureRecognize将不能识别,如UILongPressGestureRecongnizer. 在浏览网页的时候,如果看到喜欢的图片,想把它保存下来如何办呢? 我们可以自己写一个程序来实现,用uiwebview开发一个自己的浏览器. 上面说到uiwebview不能识别long press gesture,幸好有一个可以识别,那就是double click.因此我们注册它,代码如下 UITapGestureRecogn

在UITableView的 didSelectRowAtIndexPath中获取点击区域

项目中,要在UITableViewCell区分不同的点击区域,比如左边点击执行某个操作,右边点击执行另一个操作.原本我的方案是在cell的左边和右边各放一个透明的UIButton,点击两个button执行不同的操作,而controller中的didSelectRowAtIndexPath函数就设为空了.但是后来有个问题,就是可以同时用多个手指长按在不同的cell上,导致触发过个操作,而且cell的选中态也不好控制. 后来想到,UIview的触摸事件可以得到触摸的位置,那可不可以在cell的tou

unity中让物体移动到鼠标点击位置(单击移动和双击暂停移动)

private bool IsMove;//移动 //鼠标双击的参数(第一种方式的参数) private float delay = 0.5f; private float firstClickTime = 0; private bool oneClick = false; //点击了第一下 //双击(第二种方式的参数) private float endtime = 0; private float Doubletime = 0.5f; //响应时间 public void Start(Gam

Unity 小地图点击位置映射到地图实体位置(类似王者荣耀的小地图点击功能)

小地图自制功能就不多说了,我的小地图制作参考地址:https://www.youtube.com/watch?v=EeyZ2y2Jpz4 建议直接到地址中去看UGUI的小地图的制作,觉得还是讲得比较好的. 下面在参考地址的制作前提下做一个小地图点击位置映射到地图实体位置中去的功能. 准备工作: 搭建场景: 简单来说就是自己随意搭建一个场景,然后俯视将场景截图保存作为UI的Image图片当作小地图的背景图片(这样就不利用另一个摄像机通过RenderTexture来做背景了) UI的目录解析如下:

python获取原图GPS位置信息,轻松得到你的活动轨迹

一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,如拍摄时间.图像分辨率.感光值.GPS坐标等. Exif最初由日本电子工业发展协会在1996年制定,版本为1.0.1998年,升级到2.1,增加了对音频文件的支持.2002年3月,发表了2.2版. Exif可以附加于JPEG.TIFF.RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件

获取点击坐标(脚本代码记录)

RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 1000)) { Vector3 posiont = new Vector3(hit.point.x, hit.point.y, hit.point.z); Debug.Log("点击位置:" + posiont); }