为什么scrollview中手指向上滑时contentOffset是增大的

手指向上滑时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的实现者来说,这么作太自然了,也很方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值