WebView页数

Jak*_*mpl 9 cocoa objective-c webview

我有一个WebView显示一些经常更新的内容.我想在我的UI中显示一个页面计数器,它会告诉用户如果要打印它们,Web视图会有多少页面.

我试过做:

NSRange r = NSMakeRange(0, 0);
BOOL knows = [[[[webView mainFrame] frameView] documentView] knowsPageRange: &r];
Run Code Online (Sandbox Code Playgroud)

给出knows = YES但r.length总是等于1.

我怎样才能获得这些信息?(如果可能,最好以高效的方式).

The*_*ken 2

这不是一个完美优雅的解决方案,但可能包括:

NSString *heightStr = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"]; // Get the height of our webView
int height = [heightStr intValue];

CGFloat maxHeight   = kDefaultPageHeight - 2*kMargin;
CGFloat maxWidth    = kDefaultPageWidth - 2*kMargin;
int pages = ceil(height / maxHeight);
return pages;
Run Code Online (Sandbox Code Playgroud)

通过克里斯·米尔斯的博客。