UIWebView神奇地强调某种文本

问题描述 投票:0回答:2

如果在html字符串中写入“Card.io”,则UIWebview会在下面的字符串中将其显示为带下划线的文本。

<p>
    <strong>Card.io</strong>
    <br />The MIT License (MIT)<br />
    Copyright (c) 2013-2016 PayPal Holdings, Inc.<br />
    Permission is hereby granted, ...<br />
    The above copyright notice ...<br />
    THE SOFTWARE IS PROVIDED "AS IS" ... <br />...
    ......
</p>

如果写入“Hello World”而不是“Card.io”,则UIWebview将其显示为粗体,但不会按预期加下划线。

<p>
    <strong>Hello World</strong>
    <br />The MIT License (MIT)<br />
    Copyright (c) 2013-2016 PayPal Holdings, Inc.<br />
    Permission is hereby granted, ...<br />
    The above copyright notice ...<br />
    THE SOFTWARE IS PROVIDED "AS IS" ... <br />...
    ......
</p>

为什么UIWebView将“Card.io”显示为带下划线的字符串?有任何想法吗?

ios uiwebview
2个回答
5
投票

对于这个问题,取消选中UIWebView的“链接”属性。

enter image description here

现在您可以根据需要获得预期的输出。

enter image description here

enter image description here


3
投票

“Card.io”是一个URL,因此可以直接检测到它。

如果您不想检测URL /链接,请设置UIDataDetectorTypes

webView.dataDetectorTypes.remove(.link)

Swift版本:4.x

在iOS 8及更高版本中运行的应用程序中,使用WKWebView类而不是使用UIWebView。

let theConfiguration : WKWebViewConfiguration = WKWebViewConfiguration()
theConfiguration.dataDetectorTypes.remove(.link)
let wkWebView = WKWebView(frame: CGRect(x: 0, y: 0, width: 10, height: 10), configuration: theConfiguration)

enter image description here

您也可以通过检查员进行此更改


1
投票

要从WKWebView中的选定链接中删除蓝色链接,请在“a href”标记之前添加此HTML标记:

<STYLE>A {text-decoration: none;} </STYLE>

所以在WKWebView中加载的html可能是:

<STYLE>A {text-decoration: none;} </STYLE>
<a href=\"https://www.stackoverflow.com\">
<div>This might be some text that you do not want a blue underline</div>
</a>

我确实尝试在div标签中添加样式,但是蓝色下划线仍然存在。

© www.soinside.com 2019 - 2024. All rights reserved.