`

关于UIWebView不能响应touchesBegan等四个方法的解决案例

 
阅读更多

做的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);
}
分享到:
评论

相关推荐

    UIWebView+html+css

    由于UIWebView不支持直接播放GIF动画,我们需要借助JavaScript或者第三方库来实现。一种常见方法是将GIF转换为一系列静态图片,然后用JavaScript动态切换图片来模拟动画效果。另一种方法是使用第三方库,如`...

    UIWebView控件的简易浏览器小案例

    本案例将围绕UIWebView,探讨如何创建一个简单的内置浏览器。 首先,我们需要了解UIWebView的基本用法。UIWebView是UIKit框架的一部分,通过它可以加载HTML、CSS、JavaScript等Web内容。在Swift或Objective-C中,...

    unity uiwebview 上架IOS被拒 解决办法

    ITMS-90809: Deprecated API Usage - New apps that...Unity IOS审核被拒,解决办法,去网上看了好多帖子,据说2017版本之后没有问题,我用的是5.6版本的,不想升级版本,换了一个环境说不定问题更多。解决办法在附件。

    UIWebViewDemo

    4. **自定义UI**: 可以通过设置`UIWebView`的代理方法来实现自定义的前进、后退按钮等UI元素。 这个`UIWebViewDemo`项目可能包含了以上功能的实现,通过查看源代码,你可以更深入地理解如何在实际项目中运用`...

    IOS UIWebView Demo

    【描述】:描述中的链接指向了一个CSDN博客文章,作者分享了关于如何在iOS项目中使用UIWebView的详细步骤和代码示例。UIWebView允许开发者在iOS应用内嵌入网页,提供类似浏览器的功能,用户可以在不离开应用的情况下...

    Cocos2dx中UIWebView替换为WKWebView

    这不仅可以解决UIWebView的弃用问题,还能获取到Cocos2dx的最新特性和优化。 2. **手动替换UIWebView为WKWebView**:如果你无法或不想升级Cocos2dx,你可以选择手动替换。你需要找到Cocos2dx引擎中的`UIWebViewImpl...

    UIWebView与 javascript的交互

    这个方法与上面的方法类似,但不提供异步回调。它会立即执行JavaScript并返回一个字符串结果,如果执行过程中发生错误,会返回nil。 描述中的“一个简单的demo实现了对html页面上简单事件的响应”可能指的是在HTML...

    UIWebView原生与H5交互

    2. JavaScript桥接:为了让JavaScript能调用原生方法,通常会定义一个特殊的URL schema,如`myapp://doSomething?param1=value1&param2=value2`。当JavaScript发出这个URL请求时,原生代码捕获到请求并处理参数。 ...

    iOS UIWebView URL拦截.pdf

    但是,UIWebView本身并不支持直接加载本地资源。为了实现这一需求,文中提出了通过URL拦截的方法来解决。 首先,我们需要了解iOS中的URL Loading System,这是一个系统级别的网络请求框架,UIWebView正是利用这个...

    UIWebView的使用

    在代码中,你可以通过`initWithFrame:`方法初始化一个指定大小的UIWebView,或者使用`initWithCoder:`如果是在storyboard或xib中创建。 2. **加载内容**:UIWebView提供了`loadRequest:`方法来加载URL请求。你可以...

    UIWebView和js交互

    - 安全性:避免在UIWebView中加载不受信任的第三方内容,因为这可能引发安全问题,如跨站脚本攻击(XSS)。 - 性能:UIWebView性能相对较差,特别是处理复杂的网页。现代项目推荐使用`WKWebView`,它有更好的性能和...

    iPhone开发之UIWebView示例程序

    在iOS应用开发中,UIWebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现网页浏览功能。这个示例程序是针对iPhone平台,旨在帮助开发者理解如何有效地使用UIWebView来展示网页数据。通过这个...

    UIWebView Demo代码

    在iOS开发中,UIWebView是苹果...以上就是关于UIWebView的主要知识点,通过这个Demo,开发者可以学习如何在iOS应用中集成网页内容,并实现基本的交互功能。不过,随着技术的发展,建议新项目优先考虑使用WKWebView。

    UIWebView和js交互demo1

    四、WKWebView替代UIWebView 虽然UIWebView已经足够实现OC与JS的交互,但随着iOS的发展,苹果推荐使用WKWebView,因为它的性能更好,内存管理更优,同时支持更多的现代Web标准。WKWebView的使用方式类似UIWebView,...

    网页视图 UIWebView

    这个组件允许开发者在不离开应用的情况下加载和显示HTML、CSS和JavaScript等Web资源,为用户提供了丰富的交互体验。在本文中,我们将深入探讨UIWebView的基本使用,包括网络资源地址字符串的处理以及UIWebView的属性...

    UIWebView的使用代码

    默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域的内容,不能使用手指的捏合手势来...

    UIWebView使用

    1. 初始化:UIWebView可以通过初始化方法创建,例如`initWithFrame:frame`,指定一个矩形区域作为web视图的大小。 ```swift let webView = UIWebView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: ...

    Mac XCode iPhone 显示一个UIImageView 和一个UIWebView

    本文将深入探讨如何使用Xcode显示一个UIImageView和一个UIWebView,这两个是iOS开发中常用的UI组件。 UIImageView是iOS应用中用于展示图片的控件。它可以显示静态图像,也可以动态加载网络图片或者在内存或磁盘中...

    UIWebView加载html

    UIWebView是Objective-C时代的主要解决方案,虽然在Swift 3之后已经被WKWebView所取代,但仍然有很多遗留项目在使用它。 UIWebView主要涉及以下几个知识点: 1. **初始化UIWebView**: 在创建UIWebView时,你需要...

Global site tag (gtag.js) - Google Analytics