关于UIWebView - 获取内容高度

使用 JS 代码获取内容高度

web 加载完成之后。注:由于图片的原因可能还是不一定准。

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    CGFloat height = [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
}

KVO

    [self.webView.scrollView addObserver:self
                   forKeyPath:@"contentSize"
                      options:NSKeyValueObservingOptionNew
                      context:nil];

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
    CGSize size = [[change objectForKey:NSKeyValueChangeNewKey] CGSizeValue];
}

RAC

    [[self.webView.scrollView rac_valuesAndChangesForKeyPath:@"contentSize"
                                                 options:NSKeyValueObservingOptionNew
                                                observer:nil]
     subscribeNext:^(RACTuple *x) {
         @strongify_self
         CGSize size = [[[[x allObjects] lastObject] objectForKey:NSKeyValueChangeNewKey] CGSizeValue];
     }];

1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 2017年9月12日,因典型经验评审会议出差,从天津站返程。 恰好和一批新兵坐上了同一列列车,迷彩军装、胸...
    小郭飞砖阅读 357评论 0 1
  • 如果安静可以让我平静下来 那么我珍惜现在这一刻 我不去触碰心里的荆棘 不去考虑明天的旅程 不再想昨天逝去的故事 是...
    清欢的林夕阅读 557评论 2 4
  • 我们每个人每天都会进行自我批判,但是,恕我直言,很多自我批判毫无逻辑,而且是孕育痛苦的温床! 《成功心理学》( 第...
    灰堆积木阅读 1,480评论 11 15