項目需求:加載完成頁面之后不允許讓頁面放大或者縮小,
1.廢話就不多說了,通過UIWebView的自帶屬性是沒有這個設(shè)置選項的/達不到預(yù)期效果。
2.只能通過頁面設(shè)置來完成
1.如果是本地的頁面資源,直接修改HTML頁面內(nèi)容,直接在Header標(biāo)簽內(nèi)添加一個標(biāo)簽屬性即可:
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
Html代碼
2.如果是加載的URL,可以通過WebView的在webViewDidFinishLoad的加載完成的代理方法中,
通過stringByEvaluatingJavaScriptFromString方法來動態(tài)添加js代碼:
NSString *injectionJSString = @"var script = document.createElement('meta');"
"script.name = 'viewport';"
"script.content=\"width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\";"
"document.getElementsByTagName('head')[0].appendChild(script);";
[webView stringByEvaluatingJavaScriptFromString:injectionJSString];
標(biāo)簽里的scale 值就是頁面的初始化頁面大小< initial-scale >和可伸縮放大最大< maximum-scale >和最小< minimum-scale >的的倍數(shù)。如果還有別的需求可自行設(shè)置,如果都為1表示初始化的時候顯示為原來大小,可縮放的大小都為原來的大小<即不可縮放>。