當Scales頁面爲Fit時,是否有任何禁用縮放的方法?當scalesPageToFit打開時,UIWebView禁用縮放功能
回答
這個工作對我來說:
UIScrollView *scrollView = [webView.subviews objectAtIndex:0];
scrollView.delegate = self;//self must be UIScrollViewDelegate
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return nil;
}
更新:對於iOS 5或更高版本獲得滾動視圖這樣的:
webview.scrollView.delegate = self;
在UIWebView
有財產叫scrollView
。通過它你可以定義這個。 更具體地講,應該是這樣的:
myWebView.scrollView.minimumZoomScale = 1.0;
myWebView.scrollView.maximumZoomScale = 1.0;
錯變焦,即使你設置縮放級別爲1仍然存在。0 – 2012-01-30 10:19:42
這實際上工作,如果放在' - (void)webViewDidFinishLoad:(UIWebView *)webView'的webview的委託功能 – 2014-02-28 16:13:43
對不起,這只是不適用於我,即使放在webViewDidFinishLoad。 – 2014-03-07 05:22:45
scalesPageToFit
一個布爾值,確定網頁是否縮放以適應視圖 和用戶可以更改比例。
@屬性(非原子)BOOL scalesPageToFit
討論
如果是,則網頁被縮放以適合並且用戶可以放大和縮小 出來。如果否,則禁用用戶縮放。默認值是NO。
所以如果你想改變這種行爲,你可能必須繼承UIWebView。
編輯: 實現委託方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
爲您的Web視圖,並在其中添加如下因素代碼:
[webView stringByEvaluatingJavaScriptFromString: @"$('body').bind('touchmove', function(event) { event.preventDefault() });"];
的問題是,這也禁用滾動,因爲它禁止的舉動觸摸。 如果你想保持滾動你必須寫一個java腳本,將覆蓋與視meta標籤:
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
沒有幫助,仍然是可縮放的 – Jim 2012-01-30 13:25:45
看來你是寫,我正在尋找一個解決方案,我會編輯 – 2012-01-30 13:53:38
這對我在iOS 5中工作。 – 2012-06-01 05:11:27
而不是使用
的0您可以使用此:
webview.scrollView.delegate = self;
-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView {
return nil;
}
第二個選項是更好,完全證明。第一個邏輯在未來的SDK中可能會失敗。
所以它的工作原理我:
NSString *fullURL = @"http://google.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
_webView.scrollView.scrollEnabled = TRUE;
_webView.contentMode = UIViewContentModeScaleAspectFit;
_webView.scalesPageToFit = FALSE;
[_webView loadRequest:requestObj];
- 1. 禁用UIWebView的放大縮小功能
- 2. WKWebView相當於UIWebView的scalesPageToFit
- 3. fancyBox3 - 如何在點擊打開的圖像時禁用縮放功能
- 4. 當UIWebView中的文本字段有效時禁用縮放
- 5. 如何禁用對話框打開時的拖放功能
- 6. UIWebView的切換scalespagetofit
- 7. UIWebView以編程方式禁用縮放
- 8. UIWebView的scalesPageToFit不能正常工作
- 9. 當玩家調整大小時禁用縮放/縮放
- 10. 當通話功能打開頁面時
- 11. 禁用webview的縮放功能,單擊文本框時?
- 12. 縮放功能
- 13. 當媒體播放器從UIWebView打開時通知?
- 14. 縮放UIwebview swift
- 15. UIWebView縮放
- 16. UIWebView,縮放&elementFromPoint
- 17. 當RadWindow打開時禁用父頁面
- 18. 縮放時禁用平移
- 19. NVD3圖例顯示/隱藏圖表獲取縮放/縮放功能禁用
- 20. UIWebView中不會放大甚至設置scalesPageToFit爲YES
- 21. uiwebview縮放文本
- 22. UIWebView縮放級別
- 23. UIWebView - 關閉縮放?
- 24. 在BrowseFragment中禁用行縮放/展開
- 25. UIWebview scalesPageToFit無法正常工作
- 26. 禁用縮放UIWebView,但保持其他用戶交互
- 27. iOS UIWebView:禁用此(縮小)狀態,但啓用放大
- 28. 顯示鍵盤後,UIWebView上的scalesPageToFit會斷開嗎?
- 29. Uiwebview在縮放和縮放後刷新
- 30. 在iPad上僅針對肖像模式禁用縮放功能
優秀的解決方案,完美的工作,並在方法中使用if語句,您可以選擇返回'nil'或將消息轉發到'super',在這種情況下,縮放會重新啓用(具體取決於您顯示的內容)。 – 2012-03-05 13:07:17
從iOS 5開始,您可以使用'webView.scrollView.delegate = self;'。 – Dev 2012-11-16 14:20:02
非常感謝你真的幫了我很多! – 2013-01-07 12:29:09