本文就实际开发中的一个需求进行分析
给webview添加头视图
方法1:添加观察者,对webview中的scrollview的偏移量进行观察,并在代理中进行相应操作。
方法2:将子页面的父视图变为webview的scrollview的contentview;具体操作如下
如图1可以看出webview上的页面布局全是放在WKContentView上的。所以我们只要对其进行响应的操作就好。
但是WKContentView是私有的变量,外部不能够直接访问。所以我们使用图2的方法获取WKContentView。
在获取到WKContentView后,更改其在scrollview上的坐标。然后把自定义的头视图加在scrollview上就搞定了。
方法2相较于方法一来说不但代码上简洁,还会省掉观察者代理方法中对内存的消耗。
本文用的web框架是WKWebView; 如果使用的是UIWebView的话,只需要将图2中的WKContentView改成UIWebBrowserView就行了
效果图如下