本文转载至 http://blog.csdn.net/cyforce/article/details/8487856

1、UIWebDocumentView

2、WebView

3、

//================================================================//

私有框架所在目录?

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/PrivateFrameworks

//================================================================//

UIWebView 的层次

①、UIScrollView is a subview of UIWebView

②、UIWebDocumentView is a subview of UIScrollView

//================================================================//

如何获取 UIWebDocumentView 与 WebView ?

UIWebView *officialWebView = [[UIWebView alloc] init];

UIWebDocumentView *webDocumentView = nil;

id webView = nil;

webDocumentView = objc_msgSend(officialWebView, @selector(_documentView));

object_getInstanceVariable(webDocumentView, "_webView", (void**)&webView);

具体有支持哪些消息可以从网络上查找,有dump出的头文件供下载。

//================================================================//

如何截获 Touch 事件?

@implementation UIView (__TapHook)

- (void)__replacedTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {

[self __replacedTouchesBegan:touches withEvent:event];

if( [self.superview.superview isMemberOfClass:[UICWebView class]] ) {

[(UICWebView*)self.superview.superview hookedTouchesBegan:touches withEvent:event];

}

}

@end

+ (void)installHook {

Class klass = objc_getClass( "UIWebDocumentView" );

// replace touch began event

method_exchangeImplementations(

class_getInstanceMethod(klass, @selector(touchesBegan:withEvent:)),

class_getInstanceMethod(klass, @selector(__replacedTouchesBegan:withEvent:)) );

}

ref:http://sonson-code.googlecode.com/svn/trunk/iPhone2.0/UICWebView/

//================================================================//

如何获取网页的真实加载速度?

①、注册通知:

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(progressEstimateChanged:)

name:WebViewProgressEstimateChangedNotification

object:coreWebView];

②、处理通知消息:

- (void)progressEstimateChanged:(NSNotification*)theNotification {

// You can get the progress as a float with

// [[theNotification object] estimatedProgress], and then you

// can set that to a UIProgressView if you'd like.

// theProgressView is just an example of what you could do.

[theProgressView setProgress:[[theNotification object] estimatedProgress]];

if ((int)[[theNotification object] estimatedProgress] == 1) {

theProgressView.hidden = TRUE;

// Hide the progress view. This is optional, but depending on where

// you put it, this may be a good idea.

// If you wanted to do this, you'd

// have to set theProgressView to visible in your

// webViewDidStartLoad delegate method,

// see Apple's UIWebView documentation.

}

}

ref:http://winxblog.com/2009/02/iphone-uiwebview-estimated-progress/

//================================================================//

调试 UIWebView

ref:http://www.idryman.org/blog/2012/06/17/debug-uiwebview-in-your-ios-app/

ref:http://atnan.com/blog/2011/11/17/enabling-remote-debugging-via-private-apis-in-mobile-safari/

//================================================================//

开启并使用 WebGL

ref:http://atnan.com/blog/2011/11/03/enabling-and-using-webgl-on-ios/

//================================================================//

关于 UIWebView 的说明的更多相关文章

  1. AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking

    AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...

  2. ios UIWebView自定义Alert风格的弹框

    之前开发过一个App,因为公司之前写好了网页版的内容和安卓版本的App,我进去后老板要求我ios直接用网页的内容,而不需要自己再搭建框架.我一听,偷笑了,这不就是一个UIWebView吗?简单! 但是 ...

  3. iOS网络3—UIWebView与WKWebView使用详解

    一.整体介绍 UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView.通过简单的测试即可发现UIWebView占用过多内存,且 ...

  4. IOS 网络浅析-(十二 UIWebView简介)

    在这篇随笔里,我们只要知道UIWebView是什么就可以了. UIWebView 是苹果提供的用来展示网页的UI控件,它也是最占内存的控件. iOS8.0之后出现了webkit框架,WKWebView ...

  5. UIWebView获取网页点击事件

    //接收web事件 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request nav ...

  6. IOS UIWebView 下拉刷新功能的简单实现

    1.运行效果图 2.swift 代码的实现 import UIKit class RefreshWebViewController: UIViewController,UIScrollViewDele ...

  7. UI控件(UIWebView)

    本文主要记录UIWebView三方面内容: 1.基本的加载网页链接或文件: 2.网页js调用原生,也就是Cordova混合架构的原理: 3.原生调用js程序: 原生部分主要代码: @implement ...

  8. UIwebView 和 H5交互详情

    背景: 最近公司准备上一个只有原生登录界面 + H5网页 ,并且支持ios7.0 以上系统的混合app;这可把我难住了,原生的UI界面我可以正写反写各种style把界面搭建起来.而要这个app的难点在 ...

  9. ios UIWebView 在开发中加载文件

    UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...

  10. iOS UIWebView 拦截点击事件(双击缩放)

    在平时的开发中,要使用到webview,但类似微信的webview在数据没有加载完成的时候 双击屏幕,webview不会缩放,其实实现这个功能很简单 代码是用swift写的 class YYSimpl ...

随机推荐

  1. es6 中的 模板字符串

    Template literals are string literals allowing embedded expressions. You can use multi-line strings ...

  2. 我的mac OSX bash_profile文件

    A typical install of OS X won't create a .bash_profile for you. When you want to run functions from ...

  3. perl学习笔记——字符串和排序

    用index查找子字符串 查找子字符串在主字符串中的相对位置.如: $where=index($big,$small); 注意index是从0开始的,如果查找不到就会返回-1: 加入第三个参数来指定开 ...

  4. [BestCoder Round #3] hdu 4908 BestCoder Sequence (计数)

    BestCoder Sequence Problem Description Mr Potato is a coder. Mr Potato is the BestCoder. One night, ...

  5. PJOI PKU Campus 2011 B:A Problem about Tree LCA 求随意点x为根的y的父节点

    题目链接:点击打开链接 题意:给定n个点 m个询问 以下n-1行给定一棵树 m个询问 x y 问把树转成以x为根 y的父节点是谁 第一种情况lca==y那就是x的第 dep[x] - dep[y] - ...

  6. python——socket模块与列表映射

    从socket模块学习中的一段奇怪代码说起 前言:在学习python标准库中的Socket模块中,发现了一段奇怪的代码. import socket def get_constants(prefix) ...

  7. LoadRunner中如何验证下载的文件大小、统计下载时间、度量下载速度

    LoadRunner中的web_get_in_property函数可用于返回上一个HTTP请求的相关信息,包括HTTP请求返回码.下载大小.下载时间等: The web_get_int_propert ...

  8. 【Python 数据分析】Numpy模块

    Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...

  9. 【BIEE】16_饼图应用

    在BIEE中,我们可以使用饼图来展示报表数据 饼图在使用中有三元素:①切片 ②饼图 ③度量 那么我们来分别看下这三个元素的功能分别是什么? 我们通过上图可以看出度量中存在2个度量,那么此时的饼图数量是 ...

  10. 千万级大数据的Mysql数据库SQL语句优化

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...