如何在UIWebview中启用水平滚动并禁用垂直滚动?

bit*_*com 10 iphone uiwebview uiscrollview

我的UIWebView不允许垂直滚动.但是,应该可以进行水平滚动.

我一直在查看文档,但找不到任何提示.

以下代码禁用两个滚动方向,但我只想禁用垂直:

myWebView.scrollView.scrollEnabled = NO;
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

pni*_*zle 33

启用水平滚动并禁用垂直滚动:

myWebView.scrollView.delegate = self;
[myWebView.scrollView setShowsVerticalScrollIndicator:NO];

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y > 0  ||  scrollView.contentOffset.y < 0 )
        scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x, 0);
}
Run Code Online (Sandbox Code Playgroud)

第二行会隐藏垂直滚动指示器.检查"scrollView.contentOffset.y <零"是否会在您尝试向下滚动时禁用弹跳.你也可以这样做:scrollView.bounces = NO做同样的事!! 通过查看Rama Rao的答案,我可以看出他的代码会在您尝试垂直滚动时将scrollView重置为(0.0),从而将您从水平位置移开,这是不好的.

启用垂直滚动并禁用水平滚动:

myWebView.scrollView.delegate = self;
[myWebview.scrollView setShowsHorizontalScrollIndicator:NO];

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.x > 0)
        scrollView.contentOffset = CGPointMake(0, scrollView.contentOffset.y);
}
Run Code Online (Sandbox Code Playgroud)

和平