当前位置: 首页 > news >正文

iOS中UIWebview中网页宽度自适应的问题

有的网页中会使用"<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">"这个标签来设置网页的宽度,不过带来的问题是,如果展示这个webview的宽度不等于设备的宽度的时候,就会出现网页内容过宽左右可以滑动或者网页左右内容没有占满。找了一下,有两个解决方法:

1. 利用webview中的scrollview的zoom特性,这个方法会让网页内容变小

 

- (void)webViewDidFinishLoad:(UIWebView *)theWebView { CGSize contentSize = theWebView.scrollView.contentSize; CGSize viewSize = self.view.bounds.size; float rw = viewSize.width / contentSize.width; theWebView.scrollView.minimumZoomScale = rw; theWebView.scrollView.maximumZoomScale = rw; theWebView.scrollView.zoomScale = rw; }

 

 

2. 第二个方法,在客户端使用js重写meta标签,这个也是在webview的delegate的webViewDidFinished回调中调用;我们使用的这种方法来操作,内容不会变小

 

javascript = [NSString stringWithFormat:@"var viewPortTag=document.createElement('meta'); \ viewPortTag.id='viewport'; \ viewPortTag.name = 'viewport'; \ viewPortTag.content = 'width=%d; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;'; \ document.getElementsByTagName('head')[0].appendChild(viewPortTag);" , (int)authWebView.bounds.size.width]; [authWebView stringByEvaluatingJavaScriptFromString:javascript];

 

 

参考:

1. http://stackoverflow.com/questions/10666484/html-content-fit-in-uiwebview-without-zooming-out 

2. http://stackoverflow.com/questions/5594447/webpage-in-uiwebview-doesnt-autoresize-correctly-when-uiwebviews-width-is-less

3:http://m.blog.csdn.NET/blog/lihei12345/43565859

转载于:https://www.cnblogs.com/jgCho/p/7458668.html

相关文章:

  • 重启开源,分享无限--微软面试187题精选
  • 推荐给非互联网主体的用户
  • string.format的使用与及转义
  • Java Socket网络编程
  • 浅谈返回值类型: json与html
  • SVN的安装与简单使用
  • SQL Server直接查询: 其它的连接/Excel
  • javaweb part6---jstl以及el表达式
  • webuploader配置
  • SQL Server中的convert来转换时间
  • 日期工具
  • 静态路由作用和添加删除命令
  • jar/war/ear文件的区别
  • 自动装箱和自动拆箱
  • 从Hadoop框架与MapReduce模式中谈海量数据处理(淘宝技术架构)
  • ----------
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Android交互
  • Angular 2 DI - IoC DI - 1
  • CentOS 7 防火墙操作
  • es6要点
  • fetch 从初识到应用
  • golang中接口赋值与方法集
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Mocha测试初探
  • mysql 数据库四种事务隔离级别
  • MySQL的数据类型
  • Netty 4.1 源代码学习:线程模型
  • Spark RDD学习: aggregate函数
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 程序员最讨厌的9句话,你可有补充?
  • 计算机常识 - 收藏集 - 掘金
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 聊聊directory traversal attack
  • 一道面试题引发的“血案”
  • 译有关态射的一切
  • Java总结 - String - 这篇请使劲喷我
  • ​queue --- 一个同步的队列类​
  • $(selector).each()和$.each()的区别
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)STL算法之遍历容器
  • (力扣题库)跳跃游戏II(c++)
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Framework .NET Core与 .NET 的区别
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net Web项目创建比较不错的参考文章
  • .NET 常见的偏门问题
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net6 webapi log4net完整配置使用流程