UIScrollView 的scrollViewDidScroll:方法探究

1、问题背景:
最近有个需求是列表滚动的时候修改其他view的透明度和位置,接到需求立马想到通过scrollview的scrollViewDidScroll:的回调然后获取scrollview的contentOffset.y,然后设置位置和透明度,结果比较失望,总是会出现位置停在某个位置或者透明度不对。

2、问题分析:
在scrollViewDidScroll:方法里面输出contentOffset.y,随意拖动几下,获得如下结果:


1555238511903.jpg
    发现在scrollViewDidScroll:访问contentOffset是不连续的,总是认为这个方法是实时回调的,看来下官方API的说明:
image.png

按苹果的说法应该是any offset changes都会调用。
3、解决方案:
然后想到尝试用KVO监听scrollview的contentOffset的变化然后设置位置和透明度,结果可以满足需求。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上章摘要: 瓷儿跟着俩姨出谷遇到俩姨的徒弟符凡迪正被几个陌生人暴打,符凡迪被俩姨救出后给大家唱了一首歌,瓷儿疑为天...
    福二姨阅读 3,247评论 33 22
  • Array, In-palce, Two pointer 1. 我的AC 方法一:remove 函数 方法二 in...
    FlyCharles阅读 1,414评论 0 0
  • 三月,葫芦河的水咆哮着 断裂天梯,我从云中跌落 你是我走向远方的路上,午夜里听到的第一声泉流 我的文友,我诗歌里吟...
    诗人谷木阅读 1,459评论 0 0

友情链接更多精彩内容