有人知道如何阻止UIWebView垂直反弹吗?我的意思是,当用户触摸他们的iphone屏幕,向下拖动他们的手指时,web视图在我加载的网页上方显示一个空白点?

我研究了以下可能的解决方案,但没有一个适合我:

http://www.iphonedevsdk.com/forum/iphone-sdk-development/996-turn-off-scrolling-bounces-uiwebview.html

http://forums.macrumors.com/showthread.php?t=619534

我如何停止一个UIScrollView水平反弹?


当前回答

UIWebView的一个子视图应该是UIScrollView。将scrollEnabled属性设置为NO, web视图将完全禁用滚动。

注意:从技术上讲,这是使用私有API,因此你的应用程序可能会在未来的操作系统版本中被拒绝或崩溃。使用@try和respondsToSelector

其他回答

警告。我在我的应用程序中使用了setAllowsRubberBanding:,苹果拒绝了它,声明非公共API函数是不允许的(引用:3.3.1)

我遍历UIWebView的子视图集合,并将它们的背景设置为[UIColor blackColor],与网页背景的颜色相同。视图仍然会反弹,但它不会显示丑陋的深灰色背景。

我所做的就是:

UIView *firstView = [webView.subviews firstObject];

if ([firstView isKindOfClass:[UIScrollView class]]) {

    UIScrollView *scroll = (UIScrollView*)firstView;
   [scroll setScrollEnabled:NO];  //to stop scrolling completely
   [scroll setBounces:NO]; //to stop bouncing 

}

对我来说很好… 此外,如果你在这个问题中使用这个选项,苹果会拒绝它 你的iPhone应用。

要禁用UIWebView滚动,你可以使用以下代码行:

[ObjWebview setUserInteractionEnabled:FALSE];

在这个例子中,ObjWebview的类型是UIWebView。

下面是一个使用scrollview setBounces函数的通用应用程序示例。这是一个开源项目/示例,位于这里:链接到SimpleWebView(项目Zip和源代码示例)