9

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

我试过做:

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

它给出knows = YESr.length总是等于 1。

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

4

1 回答 1

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;

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

于 2013-04-15T00:10:47.640 回答