在平时的开发中,要使用到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 拦截点击事件(双击缩放)的更多相关文章

  1. IOS微信浏览器点击事件不起作用问题

    问题: $(document).on("click",".btn",function(){alert("1")}); 在微信浏览器上点击不起 ...

  2. 【iOS】UIImageView 点击事件

    UIImageView 并不像 UIButton 那样点击鼠标就可以关联点击事件,也不像 Android 里有 onClickListener,这个时候就需要借助 UITapGestureRecogn ...

  3. iOS 检测状态栏点击事件

    当tableView.scrollsToTop=YES不管用时,可以使用以下方法实现点击状态栏使tableView滚动到顶部. - (void) touchesBegan:(NSSet *)touch ...

  4. iOS 富文本点击事件

    #import "ViewController.h" #define font 17 @interface ViewController ()<UITextViewDeleg ...

  5. iOS:图像和点击事件

    问题:如何区分点的是哪张图片? // // main.m // Hello // // Created by lishujun on 14-8-28. // Copyright (c) 2014年 l ...

  6. IOS - Safari中click点击事件无效

    做web移动端页面时,安卓端一点问题也没,发现在ios真机上点击事件无效,发现Safari下只有默认可点击的元素才click点击事件,像span div等元素是不具有点击事件的. 解决问题四种方式: ...

  7. [置顶] Android源码分析-点击事件派发机制

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...

  8. Android源码分析-点击事件派发机制

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...

  9. app内嵌vue h5,安卓和ios拦截H5点击事件

    安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的 安卓和ios拦截普通h5函数: <div onclick = "show(),window.android.sh ...

随机推荐

  1. sql编程篇 (五) 事务

    计算机中的事务 编辑 概念 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用 ...

  2. CSS篇之动画(2)

    animation-name(自定义动画) name为动画名称.不要用中文,尽量用与动画相关的名称.元素所应用的动画名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义 ...

  3. 将asp.net core站点发布到IIS上遇到的问题

    今天第一次将整个 asp.net core 站点发布到 IIS 上,以前都是发布到 Linux 服务器上. 开始使用 dotnet publish -c release 命令发布,用浏览器访问站点时出 ...

  4. LOMA280保险原理读书笔记

    LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...

  5. 细说ES7 JavaScript Decorators

    开篇概述 在上篇的ES7之Decorators实现AOP示例中,我们预先体验了ES7的Decorators,虽然它只是一个简单的日志AOP拦截Demo.但它也足以让我们体会到ES7 Decorator ...

  6. 企业IT管理员IE11升级指南【1】—— Internet Explorer 11增强保护模式 (EPM) 介绍

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  7. 如何让用户只能访问特定的数据库(MSSQL)

    背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server ...

  8. Android学习第三天-打包常用命令

    在前面<Android学习第一天-adb常用命令>和 <Android学习第二天-android常用命令>两篇博文中,我们重点讲解了adb和android的常用命令,下面我们讲 ...

  9. 在Github上搭建自己的博客(Windows平台)

    折腾了好久,终于在Github上搭建了自己的博客.这里面总结一下过程希望对大家能有所帮助. Github建博优缺点 和 csdn,新浪,网易相比,在Github上可以自己实现功能 和阿里云,VPS相比 ...

  10. java IO流 之 字节流

    一.file类的常用操作 File file=new File("E:\\test\\javaIo"); System.out.println(file.isDirectory() ...