更改文本颜色的UIWebView的(Change textcolor of UIWebView)

2019-07-30 05:23发布

我想提出一个EPUB阅读器,在其中我加载在我的HTML页面webview

[_webview loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:_pagesPath]]];

现在我想改变背景颜色和和我的HTML页面的文本颜色。 我使用改变了我的WebView的背景颜色,

self._webview.backgroundColor = [UIColor blackColor];
self._webview.opaque = NO;

这是工作,但我也想改变我的WebView的文本颜色。 我该怎么做呢?

Answer 1:

在此验证码color:#fff标签使用的文本颜色#FFF使用黑色

NSString *webStr =@"Your text use";

[self._webview  loadHTMLString:[NSString stringWithFormat:@"<div id ='foo' align='left' style='line-height:18px; float:left;width:300px; font-size:13px;font-family:helvetica;background-color:transparent; color:#fff;>%@<div>",webStr] baseURL:nil]; 

如果您使用本地HTML使用

 NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"html"];

NSString* text = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",htmlFile);

NSLog(@"Hello");

[self._webview  loadHTMLString:[NSString stringWithFormat:@"<html><body bgcolor=\"#000000\" text=\"#FFFFFF\" face=\"Bookman Old Style, Book Antiqua, Garamond\" size=\"5\">%@</body></html>", text] baseURL: nil];


Answer 2:

[_webview loadHTMLString:[NSString stringWithFormat:@"<html><body style=\"background-color: white; font-size: 17; font-family: HelveticaNeue; color: #ffffff\">%@</body></html>", strDataFromHTML] baseURL: nil]; 


Answer 3:

我做了一个方法 ,它包装在HTML身体一些文本与正确的样式对于一个给定UIColorUIFont

简单地弹出生成的HTML到网页视图:

NSString * htmlString = [MyClass htmlFromBodyString:@"an <b>example</b>"
                                           textFont:[UIFont systemFontOfSize:10]
                                          textColor:[UIColor grayColor]];
[webView loadHTMLString:htmlString baseURL:nil];


Answer 4:

这里是一个小雨燕扩展到处理这个问题:

import UIKit

extension String
{
    func htmlFormattedString(font:UIFont, color: UIColor) -> String
    {
        var numberOfColorComponents:Int = CGColorGetNumberOfComponents(color.CGColor)
        var colorComponents = CGColorGetComponents(color.CGColor)

        var colorHexString = ""
        if numberOfColorComponents == 4 {
            var red = colorComponents[0] * 255
            var green = colorComponents[1] * 255
            var blue = colorComponents[2] * 255

            colorHexString = NSString(format:"%02X%02X%02X", Int(red), Int(green), Int(blue)) as String
        } else if numberOfColorComponents == 2 {
            var white = colorComponents[0] * 255

            colorHexString = NSString(format:"%02X%02X%02X", Int(white), Int(white), Int(white)) as String
        } else {
            return "Color format noch supported"
        }

        return NSString(format: "<html>\n <head>\n <style type=\"text/css\">\n body {font-family: \"%@\"; font-size: %@; color:#%@;}\n </style>\n </head>\n <body>%@</body>\n </html>", font.familyName, String(stringInterpolationSegment: font.pointSize), colorHexString, self) as String
    }
}


Answer 5:

尝试在HTML文件中什么都你是从服务器获取的代码添加...那么只有你可以改变文本颜色....或者你的HTML文件之前添加一些HTML代码,改变文本的颜色



Answer 6:

试试这个...

  1. 解析HTML文件。
  2. 显示的内容按您的要求。

希望这可以帮助。



文章来源: Change textcolor of UIWebView