扫码关注官方订阅号
webview是直接加载本地HTML代码的,但是本地代码里有 img 标签,需要从远程加载图片,图片加载完,WebView的高度就会发生变化。我希望能监听到webview的高度变化,有没有什么方案?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
1. 通过webview的didFinishLoad:方法,这个时候webview已经加载完成,可以获得真实高度。 2. 通过js来获取实际页面的高度,获取的时机也通过js来监听。 3. 通过检测webView.scrollView.contentSize,只要这个值发生改变,你马上就能够被通知。注册观察者的代码类似这样:
didFinishLoad:
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的高度变化了
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
可以再HTML里面用JS监听图片的加载,等加载完了,动态获取HTML的高度,然后用JS调用你的系统的街口回传给你
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
1. 通过webview的
didFinishLoad:
方法,这个时候webview已经加载完成,可以获得真实高度。2. 通过js来获取实际页面的高度,获取的时机也通过js来监听。
3. 通过检测
webView.scrollView.contentSize
,只要这个值发生改变,你马上就能够被通知。注册观察者的代码类似这样:然后在观察者中实现
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
,你就随时可以监测到webView的高度变化了可以再HTML里面用JS监听图片的加载,等加载完了,动态获取HTML的高度,然后用JS调用你的系统的街口回传给你