OStack程序员社区-中国程序员成长平台

标题: ios - 如何获取 UIWebView 页码 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 06:02
标题: ios - 如何获取 UIWebView 页码

我使用以下代码对 UIWebView 进行分页。

self.webView.paginationMode = UIWebPaginationModeLeftToRight;
self.webView.paginationBreakingMode = UIWebPaginationBreakingModePage;
self.webView.scrollView.pagingEnabled = YES;

现在我想知道它创建的页面总数。 IOS7 文档说 UIWebView 有一个名为 pageCount 的属性。我试过了,但它总是返回 1。

如何获取分页后创建的页数?

谢谢。



Best Answer-推荐答案


如果你只想要页数,你可以使用 CoreGraphics

CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((CFURLRef)[NSURL fileURLWithPath"your path"]);
int pageCount = CGPDFDocumentGetNumberOfPages(pdf);
CGPDFDocumentRelease(pdf);

如果要计算 HTML 内容的页面,则需要设置委托(delegate)

self.webView.delegate = self;

并实现 UIWebViewDelegate 方法

- (void)webViewDidFinishLoadUIWebView *)webView
{
    NSUInteger count1 = webView.pageCount; // for iOS7 only!

    NSUInteger count2 = webView.scrollView.contentSize.width / webView.scrollView.frame.size.width; // for horizontal paging

    NSUInteger count3 = webView.scrollView.contentSize.height / webView.scrollView.frame.size.height; // for vertical paging
}

请注意,只有在请求的 HTML 页面完整呈现后才能获取 pageCount。

关于ios - 如何获取 UIWebView 页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21361134/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4