UIWebView 捏合放大问题

今天项目上一处简单的UIWebView加载的HTML页面被产品经理提出了一个问题,需要该页面通过捏合手势控制页面放大缩小。下面是实现此功能的代码

设置UIWebView
  myWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
  myWebView.scalesPageToFit=YES;
  myWebView.multipleTouchEnabled=YES;
  myWebView.userInteractionEnabled=YES;

不过设置了这几个属性之后发现放大的倍数不能达到预期要求,经过一番查找发现是因为HTML中meta没引用meta的关系.
最后在 - (void)webViewDidFinishLoad:(UIWebView *)webView 方法中注入了段JS代码.

代码示例
NSString *meta = [NSString stringWithFormat:@"var meta = document.createElement('meta');meta.content='width=device-width,initial-scale=1.0,minimum-scale=.5,maximum-scale=3';meta.name='viewport';document.getElementsByTagName('head')[0].appendChild(meta);"];
[myWebView stringByEvaluatingJavaScriptFromString:meta];

完美解决问题

你可能感兴趣的:(UIWebView 捏合放大问题)