博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于UIWebView不能响应touchesBegan等四个方法的解决案例
阅读量:6914 次
发布时间:2019-06-27

本文共 1216 字,大约阅读时间需要 4 分钟。

做的APP需要在一个UIWebView中随点击位置动态出现button,用touchesBegan等怎么调试都不行,普通的UIView就可以,找了半天终于知道UIWebView不能这样用,那么怎么做呢,只有用UITapGestureRecognizer替代了,其他的手势还可以用UIPinchGestureRecognizer(放大缩小)和UIPanGestureRecognizer(拖动),SO,我们现在以UITagGestureRecongnizer来做,获取webView中的位置。 

UITapGestureRecognizer* myTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; 
[self.view addGestureRecognizer:singleTap]; //这个可以加到任何控件上,比如你只想响应WebView,我正好填满整个屏幕 
myTap.delegate = self; 
myTap.cancelsTouchesInView = NO; 
[myTap release]; 
如果是双击可以这样: 
    UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap:)];  
    doubleTap.numberOfTouchesRequired = 2;  
    [self.theWebView addGestureRecognizer:doubleTap];  
然后有一个关键的,要实现一个方法: 
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
    return YES; 
最后,响应的方法中,可以获取点击的坐标哦! 
-(void)handleSingleTap:(UITapGestureRecognizer *)sender{ 
    CGPoint gesturePoint = [sender locationInView:self.view]; 
    NSLog(@"handleSingleTap!gesturePoint:%f,y:%f",gesturePoint.x,gesturePoint.y); 

转载于:https://www.cnblogs.com/pengyingh/articles/2350819.html

你可能感兴趣的文章
11. 系统状态管理
查看>>
Java:java+内存分配及变量存储位置的区别
查看>>
PHP 字符串编码的转换
查看>>
往文件中按行写入数据
查看>>
20. Screen
查看>>
整个站点默认禁用 Session,而某个页面不禁用的做法。
查看>>
ios实例开发精品源码文章推荐(8.22)
查看>>
ElasticSearch 应用场景
查看>>
《数据库技术基础与应用(第2版)》学习笔记——第1章
查看>>
Tomcat性能调优方案
查看>>
Ubuntu12.04上编译PlateGatewayQt
查看>>
(转)UITableView使用详解 相当详细,不错的东东
查看>>
Java中JDK,JRE和JVM之间的关系
查看>>
Python-NLTK环境搭建
查看>>
linux下的usb抓包方法【转】
查看>>
二叉搜索树转换成有序的双向链表
查看>>
内核定时器的使用(好几个例子add_timer)【转】
查看>>
linux中高端内存和低端内存的概念【转】
查看>>
软件整合--硬件整合--平台整合
查看>>
Android 将Activiyt作为Dialog弹出
查看>>