我有WebView
显示一些经常更新的内容。我想在我的用户界面中显示一个页面计数器,告诉用户如果要打印它们,网页视图会有多少页面。
我尝试过:
NSRange r = NSMakeRange(0, 0);
BOOL knows = [[[[webView mainFrame] frameView] documentView] knowsPageRange: &r];
,其中knows = YES
但r.length
始终等于1。
我如何获取此信息? (如果可能的话,最好以高效的方式)。
答案 0 :(得分: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;