iOS中UIWebview中网页宽度自适应的问题
2024-08-29 22:59:09
有的网页中会使用"<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
3:http://m.blog.csdn.NET/blog/lihei12345/43565859
最新文章
- SQL Server最近怎样了
- java开发JDBC连接数据库详解
- asp.netajax开发应用心得-accordation控件的事件处理
- Zepto 实现checkbox全选与全不选状态切换
- 第 17 章 CSS 边框与背景[下]
- Windows 7 安装.net framework 4.0 失败,错误HRESULT 0xc8000222解决办法
- equals()和hashCode()之间的关系
- chrome浏览器扩展的事件处理
- Python基础(6)--条件、循环
- Struts2 Struts.xml DTD 说明
- Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式
- memcached 高级机制(二)
- JAVA_SE复习(多线程)
- 查看wtmp文件内容
- POJ 2553 The Bottom of a Graph TarJan算法题解
- 转自他人——————TLE之前,没有一个节点叫失败!!!
- Eclipse Java,debug模式无法调试,调试按钮不可用时解决办法
- Mimikatz的使用心得
- makefile笔记4 - makefile命令
- 中间件和Django缓存