iOS UIWebView 拦截点击事件(双击缩放)
在平时的开发中,要使用到webview,但类似微信的webview在数据没有加载完成的时候
双击屏幕,webview不会缩放,其实实现这个功能很简单
代码是用swift写的
class YYSimpleWebViewController: UIViewController,UIWebViewDelegate,UIGestureRecognizerDelegate {
var urlS :NSURL?
var cusWebView :UIWebView!
var isLoaded = false
let cover = UIView()
init(WithUrl webUrl :NSURL?) {
super.init(nibName: nil, bundle: nil)
self.urlS = webUrl
cusWebView = UIWebView()
cusWebView.delegate = self
NSURLCache.sharedURLCache().removeAllCachedResponses()
NSURLCache.sharedURLCache().diskCapacity =
NSURLCache.sharedURLCache().memoryCapacity =
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
cusWebView.frame = self.view.bounds
self.view.addSubview(cusWebView)
cover.backgroundColor = UIColor.clearColor()
cover.frame = cusWebView.bounds;
cusWebView.scrollView.addSubview(cover)
print(cusWebView.gestureRecognizers)
let doubleTap = UITapGestureRecognizer(target: self, action: "tap")
doubleTap.numberOfTapsRequired =
doubleTap.delegate = self
cover.addGestureRecognizer(doubleTap)
if self.urlS != nil {
cusWebView.loadRequest(NSURLRequest(URL: self.urlS!))
}
}
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
return true
}
func webViewDidFinishLoad(webView: UIWebView) {
self.cover.removeFromSuperview()
self.title = webView.stringByEvaluatingJavaScriptFromString("document.title")
}
func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
self.cover.removeFromSuperview()
}
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
return true
}
func tap() {
}
核心思想就是在在webview的上边加一个透明的view,加载完成后移除,在加载过程中,拦截双击事件
iOS UIWebView 拦截点击事件(双击缩放)的更多相关文章
- IOS微信浏览器点击事件不起作用问题
问题: $(document).on("click",".btn",function(){alert("1")}); 在微信浏览器上点击不起 ...
- 【iOS】UIImageView 点击事件
UIImageView 并不像 UIButton 那样点击鼠标就可以关联点击事件,也不像 Android 里有 onClickListener,这个时候就需要借助 UITapGestureRecogn ...
- iOS 检测状态栏点击事件
当tableView.scrollsToTop=YES不管用时,可以使用以下方法实现点击状态栏使tableView滚动到顶部. - (void) touchesBegan:(NSSet *)touch ...
- iOS 富文本点击事件
#import "ViewController.h" #define font 17 @interface ViewController ()<UITextViewDeleg ...
- iOS:图像和点击事件
问题:如何区分点的是哪张图片? // // main.m // Hello // // Created by lishujun on 14-8-28. // Copyright (c) 2014年 l ...
- IOS - Safari中click点击事件无效
做web移动端页面时,安卓端一点问题也没,发现在ios真机上点击事件无效,发现Safari下只有默认可点击的元素才click点击事件,像span div等元素是不具有点击事件的. 解决问题四种方式: ...
- [置顶] Android源码分析-点击事件派发机制
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...
- Android源码分析-点击事件派发机制
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...
- app内嵌vue h5,安卓和ios拦截H5点击事件
安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的 安卓和ios拦截普通h5函数: <div onclick = "show(),window.android.sh ...
随机推荐
- sql编程篇 (五) 事务
计算机中的事务 编辑 概念 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用 ...
- CSS篇之动画(2)
animation-name(自定义动画) name为动画名称.不要用中文,尽量用与动画相关的名称.元素所应用的动画名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义 ...
- 将asp.net core站点发布到IIS上遇到的问题
今天第一次将整个 asp.net core 站点发布到 IIS 上,以前都是发布到 Linux 服务器上. 开始使用 dotnet publish -c release 命令发布,用浏览器访问站点时出 ...
- LOMA280保险原理读书笔记
LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...
- 细说ES7 JavaScript Decorators
开篇概述 在上篇的ES7之Decorators实现AOP示例中,我们预先体验了ES7的Decorators,虽然它只是一个简单的日志AOP拦截Demo.但它也足以让我们体会到ES7 Decorator ...
- 企业IT管理员IE11升级指南【1】—— Internet Explorer 11增强保护模式 (EPM) 介绍
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 如何让用户只能访问特定的数据库(MSSQL)
背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server ...
- Android学习第三天-打包常用命令
在前面<Android学习第一天-adb常用命令>和 <Android学习第二天-android常用命令>两篇博文中,我们重点讲解了adb和android的常用命令,下面我们讲 ...
- 在Github上搭建自己的博客(Windows平台)
折腾了好久,终于在Github上搭建了自己的博客.这里面总结一下过程希望对大家能有所帮助. Github建博优缺点 和 csdn,新浪,网易相比,在Github上可以自己实现功能 和阿里云,VPS相比 ...
- java IO流 之 字节流
一.file类的常用操作 File file=new File("E:\\test\\javaIo"); System.out.println(file.isDirectory() ...