首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WKWebView loadHTMLString

WKWebView loadHTMLString
EN

Stack Overflow用户
提问于 2017-02-22 10:57:20
回答 1查看 2.5K关注 0票数 1

我使用WKWebView加载服务器返回的html字符串,并设置CSS,但是页面没有显示手机屏幕,我该怎么办?

代码语言:javascript
运行
复制
 NSString *requestUrl = [NSString stringWithFormat:@"http://news-at.zhihu.com/api/4/news/%ld",self.story.ID];
requestSuccessBlock sblock = ^(id responseObject){

    YAContentItem *content = [YAContentItem contentItemWithKeyValues:responseObject];


    NSString *htmlString = [NSString stringWithFormat:@"<html><head><link rel=\"stylesheet\" type=\"text/css\" href=%@ /></head><body>%@</body></html>", content.css.firstObject, content.body];


    [self.webView loadHTMLString:htmlString baseURL:nil];

EN

回答 1

Stack Overflow用户

发布于 2017-02-22 11:42:12

代码语言:javascript
运行
复制
- (WKWebView *)webView {
if (_webView == nil) {

    WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - 44)];

    // 自适应屏幕宽度js
    NSString *jSString = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
    WKUserScript *wkUserScript = [[WKUserScript alloc] initWithSource:jSString injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
    WKUserContentController *contentController = webView.configuration.userContentController;

    // 添加自适应屏幕宽度js调用的方法
    [contentController addUserScript:wkUserScript];

    webView.navigationDelegate = self;

    [self.view addSubview:webView];

    _webView = webView;
    [self.view addSubview:webView];
}
return _webView;

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42381870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档