手指向上滑时contentOffset增大,我在开始的时候觉的这个很费解。
下面是contentOffset的定义(苹果的文档写的特别拗口,可读性上比微软的文档差太多):
The point at which the origin of the content view is offset from the origin of the scroll view.
翻译过来就是content view的原点相对于scroll view frame原点的偏移。
从视觉上效果上看,scroll view滚动时,我们会觉得scroll view的frame没有动,动的是content view。
因为scroll view的frame不动,则以其为坐标系,手指向上滑时,content view的原点在向上移动。
如果这么理解的话,手指向上滑动时,contentOffset应该减少才对。
后来看了一片文章才理解了为什么手指向上滑时contentOffset是增大的。
对于系统绘图来说,实际是从context view中截取frame大的一块儿出来,
然后把截取到的图贴到父视图上去。
所以在滚动时,从context view中截一块儿图的角度来看,
则是content view没有动,动的是从content view截图的这个窗口,这个窗口相当于scroll view的frame。
所以手指向上滑动,则截图的窗口需要向下移动,所以contentOffset是增大的。
从scroll view的实现者来说,这么作太自然了,也很方便。