防止UIWebView滚动太远

时间:2013-05-18 17:20:19

标签: ios objective-c uiwebview custom-scrolling

我有两个按钮,向上滚动和向下滚动,用于滚动UIWebView中的网页。唯一的问题是,一旦他们点击页面的顶部或底部,他们就可以继续滚动。他们可以滚动,直到整个网页都离开UIWebView。有谁知道我需要插入什么代码来防止这种情况发生?我已经研究了一段时间了,这一切都在我脑海里。甚至可以检测网页的结束位置?这是我用来滚动的代码,我有一种感觉,我需要在这里抛出if语句来检查它是否已经到达网页的顶部。

    //Scroll Up:
-(IBAction)scrollContentUp:(id)sender {

    [_viewWeb.scrollView setContentOffset:CGPointMake(0,_viewWeb.scrollView.contentOffset.y - 40.0) animated:YES];

}

//Scroll down:
-(IBAction)scrollContentDown:(id)sender {
    [_viewWeb.scrollView setContentOffset:CGPointMake(0,_viewWeb.scrollView.contentOffset.y + 40.0) animated:YES];

}

顺便说一下,它只是一款iPad应用程序。

1 个答案:

答案 0 :(得分:2)

+您需要执行以下操作:

   //Scroll Up:
-(IBAction)scrollContentUp:(id)sender {
    if(_webView.scrollView.contentOffset.y - 40 >= 0) {
        [_viewWeb.scrollView setContentOffset:CGPointMake(0,
                                    _viewWeb.scrollView.contentOffset.y - 40.0) 
                                     animated:YES];
    }
}

//Scroll down:
-(IBAction)scrollContentDown:(id)sender {
    if(_webView.scrollView.contentOffset.y + _webView.frame.size.height + 40 <= _viewWeb.scrollView.contentSize.height ) {
            [_viewWeb.scrollView setContentOffset:CGPointMake(0,
                                        _viewWeb.scrollView.contentOffset.y + 40.0) 
                                         animated:YES];
    }

}