今天項目上一處簡單的UIWebView加載的HTML頁面被產(chǎn)品經(jīng)理提出了一個問題最住,需要該頁面通過捏合手勢控制頁面放大縮小。下面是實現(xiàn)此功能的代碼
設置UIWebView
myWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
myWebView.scalesPageToFit=YES;
myWebView.multipleTouchEnabled=YES;
myWebView.userInteractionEnabled=YES;
不過設置了這幾個屬性之后發(fā)現(xiàn)放大的倍數(shù)不能達到預期要求轧粟,經(jīng)過一番查找發(fā)現(xiàn)是因為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];
完美解決問題??