5

簡単な問題です。ユーザーがズームインおよびズームアウトできるように、画像だけを保持するはずの webview があります。見た目をきれいに保つために、このビューでのバウンスを完全に無効にしますが、スクロールは許可します。このソリューションは垂直方向のバウンスに対しては機能しますが、画像を画面よりも大きなサイズにズームするとすぐに、水平方向のバウンスが引き続き可能です。

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;            
    }
}
4

2 に答える 2

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"]];

これにより画像のズームが無効になるかどうかはわかりません。しかし、それは跳ね返りを止めるはずです。

于 2011-05-13T18:12:54.690 に答える
7

iOS 5 では、次の方法で問題を解決できます。

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

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

注: これは iOS5 以降でのみ機能します

于 2012-01-25T15:48:41.083 に答える