webview是直接加载本地HTML代码的,但是本地代码里有 img 标签,需要从远程加载图片,图片加载完,WebView的高度就会发生变化。我希望能监听到webview的高度变化,有没有什么方案?
可以再HTML里面用JS监听图片的加载,等加载完了,动态获取HTML的高度,然后用JS调用你的系统的街口回传给你
1. 通过webview的didFinishLoad:
方法,这个时候webview已经加载完成,可以获得真实高度。
2. 通过js来获取实际页面的高度,获取的时机也通过js来监听。
3. 通过检测webView.scrollView.contentSize
,只要这个值发生改变,你马上就能够被通知。注册观察者的代码类似这样:
[webView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:&webViewContext]
然后在观察者中实现- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
,你就随时可以监测到webView的高度变化了