如何将uiwebview仅滚动到页面

时间:2014-01-22 07:42:31

标签: ios uiwebview

我正在使用UIWebView的IOS7新功能来创建HTML页面的分页。

这是代码。

self.webView.paginationMode = UIWebPaginationModeLeftToRight;
self.webView.paginationBreakingMode = UIWebPaginationBreakingModePage;

现在,HTML页面分为适合UIWebView的页面。但是,有几个问题。

1)当我从左向右滑动手指时,它应该滑动到下一页(正好是页面)。现在,当我滑动时,它可以在两页之间停止。我想只停留在页面上,而不是页面之间。

2)是否可以获取当前页码?我知道有一个名为pageCount的属性可以为您提供总页码。但我没有找到如何获取当前页码。

感谢。

3 个答案:

答案 0 :(得分:1)

当提问者找到时,您可以通过在滚动视图上设置pagingEnabled来解决(1)。

从iOS 5开始,UIWebView具有scrollView属性来访问其滚动视图。无需再查看subviews检查[UIScrollview class]了。

您可以通过查看滚动视图的contentOffsetcontentSize并从中计算当前页面来解决(2)。

答案 1 :(得分:0)

使用以下设置非常简单。

scrollView.pagingEnabled = YES

答案 2 :(得分:0)

在加载webview后,您应该将UIWebview的scrollview的pagingEnabled属性设置为YES:

    UIScrollView* scrollView = nil;
    for (UIView *subView in [self.pageWebview subviews]) {
        if ([subView isKindOfClass:[UIScrollView class]]) {
            scrollView = (UIScrollView*)subView;
            scrollView.pagingEnabled = YES;
            break;
        }
    }