热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决

这篇文章主要介绍了iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最近在项目中我们的商品详情页是一个后台返回的图片标签。需要我们自己去写一个HTML5标签进行整合,(相当于重新写了一个HTML页面)

:ok_hand:那就没办法了,我就自己写一个标签咯,应该不难吧。嘻嘻嘻嘻~~~~~

dispatch_async(dispatch_get_main_queue(), ^{
      if(self.detailModel.details){
       //这里是自己写的简单的加载H5
        NSString *header =@"%@",header,self.detailModel.details];
        [self.webView loadHTMLString:html baseURL:nil];
        }
      });

得,那我就先用UIWebView写的,调了半天结果就是不占据屏幕宽度,好烦啊。(想对着自锤两下)。找资料原来可以设一个属性就可以解决,豪嗨心呀!

没设置属性之前是这个鬼样子的

使用[_webView setScalesPageToFit:NO]; 这个属性就好了,这个属性的作用是是都缩放到屏幕大小。好了,UIWebView使用这个却解决了。

///////////////////////..............................告一段落

但是WKWebView呢?因为一般H5加载需要一点点时间并且也想加一个进度条的效果,这样体验会更加的好一点。当H5没有加载完的时候用户滑动页面会卡住(因为scrollerView的ContentSize还不确定)。所以一般是在加载完成后再设置scrollerView的ContentSize。废话不多说直接上代码

-(WKWebView *)webView {
  if (!_webView) {
    _webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, iPhone5sHeight(375+135*PXSCALEH+285*PXSCALEH), screenW, screenH-50)];
    WKWebViewConfiguration *wkWebCOnfig= [[WKWebViewConfiguration alloc] init];
    WKUserContentController *cOntent= [[WKUserContentController alloc]init];
    // 自适应屏幕宽度js
    NSString *jSString = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', '); document.getElementsByTagName('head')[0].appendChild(meta);";
    WKUserScript *wkUserScript = [[WKUserScript alloc] initWithSource:jSString injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
    // 添加自适应屏幕宽度js调用的方法
    [content addUserScript:wkUserScript];
    wkWebConfig.userCOntentController= content;

    _webView = [[WKWebView alloc]initWithFrame:CGRectMake(0, iPhone5sHeight(375+135*PXSCALEH+285*PXSCALEH), screenW, screenH-50) configuration:wkWebConfig];
    _webView.UIDelegate = self;
    _webView.navigatiOnDelegate= self;
  }
  return _webView;
}

到这里适配一下就好了,看效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • Web App vs Native App:未来的移动应用趋势
    随着移动互联网的发展,Web App和Native App之间的竞争日益激烈。对于开发者而言,选择哪一种技术路径更为明智?本文将深入探讨两种应用模式的特点及未来趋势。 ... [详细]
  • 本文提供了 Xcode 12.0 和 12.1(版本号 16B91)开发工具包的下载链接及安装步骤。通过 Finder 和快捷键,您可以轻松访问和配置 DeviceSupport 文件夹,确保 Xcode 正常运行。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
  • thereissomethingstrangeinmycode.Imsuretoforgetsomethingbutidontknowwhat.Itryto ... [详细]
  • 如何在UIWebView中加载本地图片
    本文详细介绍了如何在UIWebView中加载本地图片的方法,这对于需要在应用内展示静态页面和富文本内容的场景非常有用。 ... [详细]
  • 在开发一款应用程序时,我需要向用户提供一系列URL列表。为了提高用户体验,计划根据Wi-Fi状态预先加载这些URL,以便用户在点击时能够迅速访问内容,特别是在连接到Wi-Fi的情况下。 ... [详细]
  • 本文探讨了在UIScrollView上嵌入Webview时遇到的一个常见问题:点击图片放大并返回后,Webview无法立即滑动。我们将分析问题原因,并提供有效的解决方案。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 本文详细解析了 Yii2 框架中视图和布局的各种函数,并综述了它们在实际开发中的应用场景。通过深入探讨每个函数的功能和用法,为开发者提供了全面的参考,帮助他们在项目中更高效地利用这些工具。 ... [详细]
  • 深入对话上海视九叶文鑫:HTML5技术引领智能电视新趋势
    深入对话上海视九叶文鑫:HTML5技术引领智能电视新趋势 ... [详细]
  • 本文将带您了解Cocos家族的不同版本和分支,特别是Cocos Creator的发展历程及其核心特性,帮助初学者快速入门。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
  • 本文汇集了一系列iPhone使用小技巧,旨在帮助用户更好地利用设备功能,从日常操作到高级设置,全面优化您的使用体验。 ... [详细]
author-avatar
兜兜岁月真伟大
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有