wkwebview 自适应内部网页高度(非JS)
2020-05-18 本文已影响0人
铁汁红豆
本来是想用js方法的 但是 document.body.height怎么都拿不到数据 都是0 还有其他的body.scrollHeight也试过 都不行
document.documentBody.Height到是有 但是一直是200多 这肯定不对啊 没办法 还是靠原生吧
新建一个类继承wkwebview
然后init的时候用第一个
在里面写好observe的方法
在observe方法里写入高度传值block
在用的地方引用block
不影响其他地方调用该类
[self.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionaryid> *)changecontext:(void*)context{
if([keyPath isEqualToString:@"contentSize"]) {
CGPoint p = [[changeobjectForKey:@"new"]CGPointValue];
print(@“p.y:",p.y)
}
}
哦 对了 还要记得移除观者
-(void)dealloc{
[self.scrollView removeObserver:self forKeyPath:@"contentSize" ];
}