让自定义视图拥有UISearchBar在UITableView上面自带的吸附效果

引言:

有时候,在UITableView的顶部,也就是HeaderView上面会有一些附加功能,例如常见的搜索功能,或者是一些数据类型的筛选.

一般情况我们会把这个附加的功能视图放在UITableView的tableHeaderView上面. 

此时你尝试把系统的UISearchBar设定为tableHeaderView时.UITableView尽然自动实现了一个隐藏显示的吸附功能.

这个小小的功能特性对于体验来说还是不错的.还有就是我们在初始化展示界面时,默认不想让用户看到附加功能.

可是,当我们把tableHeaderView设定为自定义的视图时. 这个吸附功能就自己消失了(这是多么让人失望的一件事情).


博主我尝试以自己的思路去完成这个功能. 那么就需要对这个吸附功能去分析它的实现原理.

在将tableHeaderView拖动到可见区域时,我需要调整UIScrollView的contentOffect或contentInset.

为此我尝试着添加观察者去监听这两个属性的变动情况以做出这个功能.

可是经过多次努力,最终失败了. 非常多的瑕疵,而需要应变的场景又变化多样. 其实博主对于此非常不甘心呐,但因为时间关系又无可奈何.



好了,上面讲了一堆还是没进入重点,现在呢,就是既能够使用自定义视图,又能够拥有那种有趣的吸附功能.

这里用一个成语来比喻一下我实现这个功能的方式:草船借箭(有别的更好的词,欢迎留言)

既然系统在UISearchBar上面已经把这个功能给实现了,我为什么不好好利用一下呢?



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值