如何在iOS中的UIWebView中更改数字和电子邮件的颜色?

时间:2013-11-17 10:21:09

标签: html ios uiwebview

我有一个包含标签的String。我正在将此字符串加载到UIWebView。在此之前,我正在格式化它

    NSString* htmlContentString = [NSString stringWithFormat:
                                   @"<html>"
                                   "<style type=\"text/css\">"
                                   "body { background-color:transparent; font-family:Times Helvetica Neue,Georgia,sans-serif; font-size:14;}"
                                   "</style>"
                                   "<body>"
                                   "<p>%@</p>"
                                   "</body></html>", deal.dealDescription];

但是,有蓝色的数字和电子邮件。我想删除那种蓝色。见图 enter image description here

我想从格式化HTML中删除它。

我该怎么做?

由于

3 个答案:

答案 0 :(得分:1)

UIWebView正在检测数字并将其转换为超链接。这是讨论here

简单地说,您使用位掩码指定要处理的链接类型,例如,如果您想要处理Web链接而不是其他任何内容,则可以执行以下操作: -

self.webView.dataDetectorTypes = UIDataDetectorTypeLink;

或要检测电话号码之外的所有链接,请使用: -

self.webView.dataDetectorTypes = ~UIDataDetectorTypePhoneNumber;

请注意,如果您的webview是在nib / storyboard中创建的,那么也有一些复选框可以在Interface Builder中控制此行为。

修改

要更改超链接的颜色,只需添加一些CSS样式,例如将其添加到HTML字符串中,旁边是您的正文样式定义。

"a:link { color:#FFFFFF; }"

答案 1 :(得分:0)

设置UIWebView的tintColor(仅限iOS 7)。

myWebView.tintColor = [UIColor yourColor];

答案 2 :(得分:0)

在头部区域中使用此元标记。蓝色的颜色删除。

<meta content="telephone=no" name="format-detection">