iOS 加载html代码
2018-01-18 本文已影响17人
Smallwolf_JS
有些时候服务端会直接返回给我们一些html代码,但是直接用标签显示的话会出现一些nbsp这样的字段,而且看起来根本就是乱七八糟,什么都不是,苹果已经为我们提供了显示这些code的控件--webView
对于webView,原来的UIWebView已经被废弃掉了,现在流行使用WKWebView,这个是经过优化过的控件,使用起来更加具有优势,但是用法也是很简单。
Talk is cheap Show me the code
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
// [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
[self.view addSubview:webView];
webView.UIDelegate = self;
webView.navigationDelegate = self;
NSString *strHTML = @"<p><strong>很经典的黑色后背纯雪纺透视装到货了哈</strong><strong> </strong></p><p><strong>前面莫代尔 手感顺滑 柔软 手感不错</strong></p><p><strong>后面薄薄的雪纺纱</strong></p><p><strong>腰节处开叉</strong></p><p><strong>很大气,超有范儿的一款 这个年代随时随地 都可见的欧美街头范儿</strong></p><p><strong>后背透、透、透</strong></p><p><strong>165身高 96J穿起来大概在膝盖不到10CM的位置</strong></p><p> </p><p><strong>亲们啊~ 特别美得一款,穿起来超级有范,</strong></p><p><strong>看着特别不起眼的一件衣服,但上身效果特别好,</strong></p><p><strong>背面全部透视的雪纺黑纱,特别性感,</strong></p><p><strong>里面需要配一款黑色吊带,两侧带开叉的设计,亲们赶紧下手吧~~·</strong></p><p> </p><p><strong>面料: 正面莫代尔背面:雪纺纱 </strong></p><p><strong>Label:</strong>无主标 无尺码标 有吊牌 普通包装</p><p> </p><p><strong>Size</strong>:平铺尺寸,由于手工测量,会有2~3厘米的误差</p><p>~SIZE=CM</p><p>胸围:126连肩袖长:65 前衣长:80 后衣长:90</p><p> <img style=\"border-width:0;border-image-width:initial\" src=\"https://img.alicdn.com/imgextra/i4/676496646/T2zdB0X9NXXXXXXXXX_!!676496646.jpg\" width=\"100%\" height=\"((348 / 500) * 100)%\" align=\"absmiddle\"> </p><p> </p>";
[webView loadHTMLString:strHTML baseURL:nil];
这里出现了Delegate
需要在文件集成代理
#import <WebKit/WebKit.h>
@interface ViewController ()<WKUIDelegate,WKNavigationDelegate>
更进一步的我们还可以更改需要显示的相关文字的样式等等
看下面的代码,基本上不需要解释,一看就懂的代码:
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
//修改字体大小 300%
[ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '200%'" completionHandler:nil];
//修改字体颜色 #9098b8
[ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= '#0078f0'" completionHandler:nil];
}