2011-05-13 48 views
5

簡單的問題,我有一個webview,應該只是爲了讓用戶能夠放大和縮小圖像。爲了保持我的外觀乾淨,我希望完全禁用此視圖上的彈跳,但仍然允許滾動。該解決方案也爲垂直彈跳工作,但只要我縮放圖像的尺寸比屏幕大,水平反彈仍然是可能的:如何關閉UIWebView的水平反彈

for (id subview in webView.subviews 
{ 
    if ([[subview class] isSubclassOfClass:[UIScrollView class]]) 
    { 

     ((UIScrollView*) subview).bounces = NO; 
     ((UIScrollView*) subview).alwaysBounceVertical = NO; 
     ((UIScrollView*) subview).alwaysBounceHorizontal = NO; 
     ((UIScrollView*) subview).bouncesZoom = NO;    
    } 
} 

回答

11

下面的代碼並獲得成功,我們才能停止跳動:

NSString* scriptToPreventBouncing = @"<script type=\"text/javascript\"> document.ontouchmove = function(e){ e.preventDefault(); } </script>"; 
NSString* footerHTML = @"<div>All rights reserved</div>"; 
[footer loadHTMLString: [scriptToPreventBouncing stringByAppendingString:footerHTML] baseURL:[NSURL URLWithString:@"http://somewebsite.com"]]; 

我不確定這是否會禁用圖像縮放。但它應該停止彈跳。

+0

這並停止縮放和滾動整個工作 – 2011-05-16 13:17:59

+0

偉大!現在我只是寫作,因爲2個單詞不足以滿足堆棧溢出的喜好,我喜歡你的答案。 ;) – horseshoe7 2011-07-18 15:16:09

+0

這個解決方案非常簡單!它值得很多聲望點! – wagashi 2011-09-28 10:09:59

7

在iOS 5就可以解決你的問題是這樣的:

UIWebView *webView = [[UIWebView alloc] ....]; 

webView.scrollView.scrollEnabled = NO; 
webView.scrollView.bounces = NO; 

注意:這隻能在iOS5的工作和較高的

+0

對我來說,這並不妨礙水平反彈。 – ancajic 2014-04-23 17:04:52

+0

更正,這僅適用於Twitter.com – ancajic 2014-04-23 17:17:15