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 回答