日常工作中经常需要对坐标系作转换,那么我们应该对这2个方法不会感到陌生。
首先我们可以看一下这2个方法的源码。可以看到都调用了同一个offsetRectBetweenParentAndChild方法。
然后我们看一下offsetRectBetweenParentAndChild方法。5916行是一个while循环,主要起到一个从子View一直回溯到this的作用。根据源码可以发现,方法一其实就是提供一个位于descendant坐标系的rect,然后转移到this坐标系。方法二就是提供一个位于this坐标系的rect,然后转移到descendant坐标系。


本文深入解析了日常工作中常用的两种坐标系转换方法,通过分析源码揭示了这两种方法背后的实现原理。一种方法是从子View坐标系转换到父View坐标系,另一种则是相反方向的转换。
1万+

被折叠的 条评论
为什么被折叠?



