你在使用UIWebview显示网页时。可能会注意到。UIWebView所支持的缩放倍率是非常有限的。而在Safari自己所支持的缩放系数比UIWebview要大得多。

本文解释了怎样加大UIWebView的缩放系数。

UIWebView类没有改动缩放系数的方法,我们仅仅能用HTML代码来做。

Meta标签能够设置viewport。而viewport就包括了初始化缩放系数的參数。

META标签例如以下所看到的:



能够使用的參数有:

minimum-scale:

同意缩放的最小倍数。默觉得0.25,同意值为0-10。

maximum-scale:

执行缩放的最大倍数。默认1.6,同意值为0-10。

initial-scale:

当web页被载入,还未被用户缩放之前默认的缩放系数。默认值是自己主动依据页面大小和可用区域计算出来的,但这个值终于会在最小倍数到最大倍数之间。

user-scalable

是否执行用户缩放该web页。

width:

viewpoint的宽。默觉得980像素(iPhone)。同意值为200-10000 。

”device-width”表示设备宽度(iPhone为320,iPad为768)。

注意device width不等于用户界面的宽度。设备宽度总是设备处于人像模式下的宽度(屏幕方向为正向)。假设我们想添加web页的最大缩放系数(默认1.6),我们仅仅须要在HTML代码中添加META标签。指定maximum-scale属性就可以。你能够直接在HTML源码中添加META标签。假设web页来自internet而且无法改动HTML源码,你能够用Javascript代码创建META标签并附加到web页的HTML代码中。读完剩下的内容。你就知道怎么做了。

height:

viewport的高。一般是依据width计算的。

JavaScript代码例如以下:

IncreaseZoomFactor.js:

function increaseMaxZoomFactor() {

var element = document.createElement(‘meta’);

element.name = “viewport”;

element.content = “maximum-scale=10”;

var head = document.getElementsByTagName(‘head’)[0];

head.appendChild(element);

}

在webViewDidFinishLoad:托付方法中,你能够把这段JS代码加到web页中:

-(void)webViewDidFinishLoad:(UIWebView *)webView {

NSString *path = [[NSBundle mainBundle]pathForResource:@”IncreaseZoomFactor” ofType:@”js”];

NSString *jsCode = [NSStringstringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

[webViewstringByEvaluatingJavaScriptFromString:jsCode];

[webView stringByEvaluatingJavaScriptFromString:@”increaseMaxZoomFactor()”];

}

当从web载入web页时。你须要小心,由于很多web页已经使用META标签去改变了缩放系数或其它的viewport參数。假设你添加了新的META标签,你会覆盖这些缩放系数以及其它未參数。也就是说,假设在多个META标签中定义同一參数。那么最后一个定义生效。

大部分时候这不会产生什么问题,但某些时候例外。

比如,假设web页定义了初始缩放系数4,由于web页未定义maximum-scale參数,那么默认值1.6将限制初始缩放系数仅仅能是1.6。如今,你加大了maximum-scale,initialzoom也会加大。由于原来的maximum-scale參数不能再限制它了。这会带来一个严重的后果,你须要检查其它參数并依据它们的值进行又一次定义(比如,你须要将initial-scale定义为1.6以防止maximum-scale将页面缩放得过多)。

iOS-UIWebview比例缩放的更多相关文章

  1. iOS 图片比例缩放

    方法 //Resize image - (UIImage *)resizeImage:(UIImage *)image withQuality:(CGInterpolationQuality)qual ...

  2. ios 图片处理( 1.按比例缩放 2.指定宽度按比例缩放

    本文转载至 http://blog.sina.com.cn/s/blog_6f29e81f0101tat6.html //按比例缩放,size 是你要把图显示到 多大区域 CGSizeMake(300 ...

  3. ios UIWebView截获html并修改便签内容(转载)

    ios UIWebView截获html并修改便签内容 博客分类: iphone开发iphone开发phoneGap uiwebviewstringByEvaluatingJavaScriptFromS ...

  4. IOS UIWebView截获html并修改便签内容,宽度自适应

    需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果:  方法:通过js截获UIWebView中的html,然后修改html标签内容:  实例代码:  服 ...

  5. ios UIWebView截获html并修改便签内容

    需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服务器端 ...

  6. C#图片按比例缩放

    C#图片按比例缩放: // 按比例缩放图片 public Image ZoomPicture(Image SourceImage, int TargetWidth, int TargetHeight) ...

  7. html img图片等比例缩放

    在img标签里面只设置宽,不设置高,图片就会等比例缩放.

  8. Java控制图片按比例缩放- (注意内存释放)

    package mytiny.com.common; import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;im ...

  9. 理解CSS3中的background-size(对响应性图片等比例缩放)

    理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...

  10. jQuery实现等比例缩放大图片

      在布局页面时,有时会遇到大图片将页面容器“撑破”的情况,尤其是加载外链图片(通常是通过采集的外站的图片).那么本文将为您讲述使用jQuery如何按比例缩放大图片,让大图片自适应页面布局. 通常我们 ...

随机推荐

  1. Java中常用的操作PDF的类库

    iText iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用 ...

  2. JS——“==”与“===”

    ==: 两个等于号只是比较两个变量的值 var n1 = 1; var n2 = "1"; alert(n1 == n2);//返回true ===: 三个等于号不仅比较值而且比较 ...

  3. jboss启动问题

    今天一大早客户找我,说他们那边的jboss启动成功了,但是却访问不了. 本以为不是什么事,估计又是客户不会搞,把哪里搞挂了,直接远程把客户的jboss的log.data.tmp等文件给清理了,然后重启 ...

  4. 让System.Drawing.Bitmap可以在linux运行

    .net core的bitmap使用的是以下类库,但无法在linux运行 https://github.com/CoreCompat/CoreCompat 在linux运行需要安装runtime.li ...

  5. 【转】jmeter定时调度,持续并发,使用简介

    一.安装Jmeter 1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为2.9,其余文件如源代码等也可从如下官网下载 ...

  6. Array.prototype.slice.call()的理解

    最近在看廖雪峰的JS课程,浏览器中的操作DOM的那一章,有这样一道题. JavaScript Swift HTML ANSI C CSS DirectX <!-- HTML结构 --> & ...

  7. Linux日期时间

    #日期时间 echo '日期时间' datetime=$(date "+%Y-%m-%d %H:%M:%S") echo "$datetime"

  8. Problem 21

    Problem 21 https://projecteuler.net/problem=21 Let d(n) be defined as the sum of proper divisors of  ...

  9. 1. Python中的基本数据类型、运算、变量

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ...

  10. 内存_RAM或ROM_和FLASH存储的真正区别总结

    http://blog.sina.com.cn/s/blog_4b37304d0100fg10.html