引言:
有时候,在UITableView的顶部,也就是HeaderView上面会有一些附加功能,例如常见的搜索功能,或者是一些数据类型的筛选.
一般情况我们会把这个附加的功能视图放在UITableView的tableHeaderView上面.
此时你尝试把系统的UISearchBar设定为tableHeaderView时.UITableView尽然自动实现了一个隐藏显示的吸附功能.
这个小小的功能特性对于体验来说还是不错的.还有就是我们在初始化展示界面时,默认不想让用户看到附加功能.
可是,当我们把tableHeaderView设定为自定义的视图时. 这个吸附功能就自己消失了(这是多么让人失望的一件事情).
博主我尝试以自己的思路去完成这个功能. 那么就需要对这个吸附功能去分析它的实现原理.
在将tableHeaderView拖动到可见区域时,我需要调整UIScrollView的contentOffect或contentInset.
为此我尝试着添加观察者去监听这两个属性的变动情况以做出这个功能.
可是经过多次努力,最终失败了. 非常多的瑕疵,而需要应变的场景又变化多样. 其实博主对于此非常不甘心呐,但因为时间关系又无可奈何.
好了,上面讲了一堆还是没进入重点,现在呢,就是既能够使用自定义视图,又能够拥有那种有趣的吸附功能.
这里用一个成语来比喻一下我实现这个功能的方式:草船借箭(有别的更好的词,欢迎留言)
既然系统在UISearchBar上面已经把这个功能给实现了,我为什么不好好利用一下呢?