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

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

dispatch_async(dispatch_get_main_queue(),^{

if(self.detailModel.details){

//这里是自己写的简单的加载H5

NSString *header =@"

";

NSString *html = [NSString stringWithFormat:@"%@

%@",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','width=device-width'); 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,screenH-50) configuration:wkWebConfig];

_webView.UIDelegate = self;

_webView.navigationDelegate = self;

}

return _webView;

}

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

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

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

wkwebview html5页面,iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决相关推荐

  1. HTML5 页面video标签视频加载播放空白

    bug现象 : 空白 原因 : video标签不支持我自己视频的编码格式 注: 此处所说的编码格式不是指文件后缀 mp4 , RMVB , avi等 , 同一种后缀视频也会有不同编码格式 video标 ...

  2. iOS原生如何加载HTML中img标签的图片

    原文出自:iOS原生如何加载HTML中img标签的图片 前言 最近iOS App项目中使用Webview加载H5页面比较多,也有不少朋友经常问到这个问题,在这里我也学习学习如何通过iOS原生的方式来加 ...

  3. android隐私违规获取问题处理 及 Hook拦截处理记录 (VirtualXposted/epic等)及 android/iOS 多bundle加载方式修复方案

    文章目录 1.如何检测/复现 android_id/Mac地址等权限被超前获取 ```但是,检测机构是如何检测我们的APP?``` 关于hooklogin插件 太极 ---- 以上基础工作完成---- ...

  4. 微信中苹果h5页面用window.history.go(-1)返回上一页页面不会重新加载/刷新

    微信中h5页面用window.history.go(-1)返回上一页页面不会重新加载问题问题描述:在实际开发中遇到这样一个问题,业务需求涉及到返回上一页问题,第一时间想到了window.history ...

  5. django加载html5 !DOCTYPE html 的css不生效

    django加载html5(<!DOCTYPE html>)的css不生效 html5是规范前面混乱的浏览器格式而诞生的标准,它之前还有xhtml(html+xml),但是 xhtml不兼 ...

  6. UTF8文件带BOM引起的问题——iOS端竟然加载出了html代码

    起因是公司iOS端竟然加载出来了HTML代码,百思不得其解,查文献,原来如此... UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM. 所以不含 BOM 的 U ...

  7. html5 加载下一页,html5上划实现分页加载

    一.功能分析 当页面有许多相同类型数据需要加载,而且单个屏幕不足以显示这些内容,就需要使用分页加载方法,在手机客户端,一般都是使用上划下划的方式,为了有更好的用户体验,还需要在加载数据前,显示类似&q ...

  8. CGContextRef绘图-iOS球形波浪加载进度控件-HcdProcessView详解

    简书也有发布:http://www.jianshu.com/p/20d7... <iOS球形波浪加载进度控件-HcdProcessView>这篇文章已经展示了我在项目中编写的一个球形进度加 ...

  9. html js 如何判断页面是第一次访问还是重复刷新访问,使用JS判断页面是首次被加载还是刷新...

    1 利用window.name属性在页面刷新时不会重置判断(在该属性空置的情况下可使用) if(window.name == ""){ console.log("首次被加 ...

最新文章

  1. 高并发环境下如何优化Tomcat性能?看完我懂了!
  2. Modbus设备调试工具Winform(包括SRC0001、海康威视、TTS以及各种类型LED的测试)...
  3. 【数理知识】《积分变换与场论》王振老师-目录
  4. VS2017的C++开发心得:头文件的路径问题与属性管理器
  5. kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
  6. cas中总是得不到返回的属性
  7. XHTML学习笔记 Part2:核心元素
  8. SpiderData 2019年2月27日 DApp数据排行榜
  9. MDK linker和debug的设置以及在RAM中调试
  10. Android应用开发—通用的GridView网格分割线
  11. 隐私和网络安全将是未来科技发展的屏障
  12. 海王什么意思,海王是什么意思梗,网络流行词海王介绍
  13. 2021年中国单一麦芽的威士忌市场趋势报告、技术动态创新及2027年市场预测
  14. Vagrant常见问题汇总
  15. 快速排序 JAVA实现
  16. Vmware里Ubuntu安装Vmware Tools时提示:客户机操作系统己将 CD-ROM 门锁定,并且可能正在使用 CD-ROM.....
  17. python ttk_python-3.x – 为什么导入*然后ttk?
  18. [云原生专题-4]:云平台 - 在阿里云平台快速搭建服务器集群
  19. vue-composition-api.mjs:1:7: ERROR: No matching export in “node_modules/vue/dist/vue.runtime.esm-bun
  20. 计算机网络上不去的原因是什么,路由器有信号却上不了网是什么原因?

热门文章

  1. 数据结构学习笔记(一):链表(linked list)
  2. 拉杰尔安卓服务器注册上限,拉结尔多开养小号刷副本 用多多云手机离线能升级...
  3. html二级导航栏随一级居中,html – 1.在css中链接不起作用2.如何垂直居中导航栏并在每个导航栏上添加填充...
  4. Java继承_java继承
  5. 语音情感识别----语音特征集之eGeMAPS,ComParE,09IS,BoAW
  6. rust(63)-全局静态变量
  7. 【学术相关】刚刚,中科院最新预警期刊名单发布!
  8. 《Python3网络爬虫开发实战(第二版)》上市了!!!!
  9. 【Python】Python字符串格式化问题:%、format()与f-strings
  10. 建议收藏!数据分析和机器学习必备SQL技能