iPhone开发-UIWebView关闭自动检测数据

假设你网页中有一段话,中间内容一部分的内容是www.yesareno.com,UIWebview会给你自动识别成http://www.yesareno.com,当然大部分情况下是好的,但是也有一些特殊情况,你不像把www.yesareno.com识别成超链接(即点击无反应,先不管这变态的需求吧),如何实现呢?

</pre><p></p><p>下面是网页的源代码:</p><p></p><pre name="code" class="html"><body>
<div id="content"><p><span style="font-family: 微软雅黑, 'Microsoft YaHei'; font-size: 28px;">如需帮助,请移步到官网 www.yesareno.cn解决。</span></p><p><br/></p></div></body>

当点击网页中的www.yesareno.com时,会调用webview的代理:

(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
// Determine if we want the system to handle it.
NSURL *url = request.URL;
}

此时打印url.schema是http,这就是webview自作聪明添加的http。那怎么破呢?

经过查看文档,发现webview有自动检测数据的属性,即 dataDetectorTypes, 其中包括

typedef NS_OPTIONS(NSUInteger, UIDataDetectorTypes) {
    UIDataDetectorTypePhoneNumber   = 1 << 0,          // Phone number detection
    UIDataDetectorTypeLink          = 1 << 1,          // URL detection
#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
    UIDataDetectorTypeAddress       = 1 << 2,          // Street address detection
    UIDataDetectorTypeCalendarEvent = 1 << 3,          // Event detection
#endif    

    UIDataDetectorTypeNone          = 0,               // No detection at all
    UIDataDetectorTypeAll           = NSUIntegerMax    // All types
};

看到这些,想必大家已经明白了一半了吧,最简单粗暴的办法是设置 dataDetectorTypes属性为UIDataDetectorTypeNone即可了。

之后再运行程序,点击 www.yesareno.com,就不会跳转了。

小技巧而已,随笔记录下。

时间: 2024-08-27 00:23:47

iPhone开发-UIWebView关闭自动检测数据的相关文章

关闭自动检测磁盘

这个在做系统母盘的时候用,2个方法,一是用注册表,二是手动删除注册表里的,我是习惯用第二个方法.Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]"BootExecute"=hex(7):00,00 上面的是注册表,下面的是删除注册表里的方法.运行Regedit,进入注册表然后找到下面的键值: HKEY_LOCAL_MACHIN

iPhone开发 数据持久化总结(终结篇)—5种数据持久化方法对比

iPhone开发 数据持久化总结(终结篇)—5种数据持久化方法对比 iphoneiPhoneIPhoneIPHONEIphone数据持久化 对比总结 本篇对IOS中常用的5种数据持久化方法进行简单对比总结 第1种:UserDefaults(iPhone开发[二十]数据持久化总结之第1篇—NSUserDefaults) 1)易用性很强 2)数据存储在.plist文件中 3)一般保存 配置信息,首选项信息.缓存数据等,适用存储较少量数据的情况 4)缺点:无法将自定义对象序列化到属性列表中第2种:属性

深入理解iPhone数据持久化(手把手教你iphone开发 – 基础篇)

在所有的移动开发平台数据持久化都是很重要的部分:在j2me中是rms或保存在应用程序的目录中,在symbian中可以保存在相应的磁盘目录中和数据库中.symbian中因为权限认证的原因,在3rd上大多数只能访问应用程序的private目录或其它系统共享目录.在iphone中,apple博采众长,提供了多种数据持久化的方法,下面笔者会逐个进行详细的讲解. iphone提供的数据持久化的方法,从数据保存的方式上讲可以分为三大部分:属性列表.对象归档.嵌入式数据库(SQLite3).其他方法. 一.属

ios开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

               在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [图1 GUI界面效果图] [本次开发环境: Xcode:7.2     iOS Simulator:iphone6S plus   By:啊左]     一.数据库SQL

SoC FPGA开发板的FPGA配置数据下载和固化

小梅哥编写,未经许可,严禁用于任何商业用途 2018年7月2日星期一 soc fpga的烧写和固化方式与传统的纯fpga固化方式即存在形式上的相同,也存在细节上的差异,特整理此文. AC501-SoC开发板在上电时能够根据启动设置开关的设置,选择从EPCS或者HPS中启动.具体是通过EPCS还是HPS启动,由一个6位拨码开关通过设置不同的值来决定. 配置方式 MSEL0~4 MSEL5 描述 AS 5'b10110 未使用 FPGA从EPCS配置 FPPx32/ Compression Enab

Elasticsearch 动态映射——自动检测

ES中有一个非常重要的特性——动态映射,即索引文档前不需要创建索引.类型等信息,在索引的同时会自动完成索引.类型.映射的创建. 那么什么是映射呢?映射就是描述字段的类型.如何进行分析.如何进行索引等内容. 本篇就着重讲述下,ES中映射的自动检测特性. 更多内容参考:Elastisearch知识总结 字段自动检测 在某个字段第一次出现时,如果之前没有定义过映射,ES会自动检测它可能满足的类型,然后创建对应的映射. JSON数据 ES中的数据类型 null 不会添加字段 true or false

iphone开发必知点之--app本地化

iphone开发必知点之--app本地化 1.在自定Resources目录的localizables右键,选New file, 然后选Resource想的Strings File文件 点next,文件名定义为“Localizable.strings”,选择自己要保存的目录,创建 2.选中Localizable.strings文件 在右侧的工具面板点击“+”号键,分别添加English和Chinese,如图 此时左侧的目录结构会变成 系统对应的目录会生成两个对应的英文en.lproj和中文zh-H

iphone开发-基础笔记总结(1)

1.ios完整学习路线 2.ios开发的一般步骤: 搭建界面                                         UI界面(User Interface) 发送网络请求                                   多线程/网络 网络数据解析                                   json/xml解析 在界面上进行数据展示                   数据的封装展示 3.为了方便开发者开发出强大的功能,苹果提

iphone开发 IOS 组织架构图

转载自 :http://blog.csdn.net/mashi321323/article/details/18267719 登录|注册     mashi321323的专栏 目录视图 摘要视图 订阅 10月28日 大牛带你玩转Spark    微信开发学习路线高级篇上线    免费公开课平台正式上线啦    恭喜July新书上市 iphone开发 IOS 组织架构图 分类: iphone2014-01-14 17:20 1870人阅读 评论(0) 收藏 举报 iphone开发组织架构 目录(?