网络编程

当前位置:永利402游戏网站-永利402com官方网站 > 网络编程 > 彻底弄清 anchorPoint 和 position

彻底弄清 anchorPoint 和 position

来源:http://www.xtcsyb.com 作者:永利402游戏网站-永利402com官方网站 时间:2019-09-15 16:34

最近在研读《iOS Core Animation Advanced Techniques》这一本书,想系统地学习下关于 CALayer、Transition、以及动画等知识点。大家可以在 gitbook 上面找到该书的翻译版本。

本书翻译自:iOS Core Animation: Advanced Techniques

传送门

知识是人类进步的阶梯,重在分享

在读到图层几何学这一章的时候,了解到了两个概念:anchorPoint 和 position。之前一直把 position 当成是矩形的中心点,如同 UIView 的 center 属性(事实上,在不改变 anchorPoint 的前提下,它确实是图层的中心点),但当 anchorPoint 改变的时候,我一下子懵逼了,为什么 position 不会改变,为什么frame会改变,为什么图形要往某个特定方向移动,而使 anchorPoint 和 position 重合?什么鬼...

翻译,喵~

怀着一定要搞懂的心态,我去网上查询了很多帖子,有的看了也没懂,有的给了我很大启发。现在也想把自己的理解在这里分享一下:

译者为:

说白了,position 是什么?其实就是图层在父图层(superLayer)中的位置,图层的 size 定下了,那么应该把它放在父图层的什么位置,不就是由 position 定的吗?此时,父图层就会告诉这个儿子:喂,小子,这个 position 就是你在我地盘上的位置,你啊,如果将来要做 transition 变换,默认是以这个点为基准的。

AttackOnDobby

儿子:哦,那我到时候做旋转那肯定也绕着这个点转了。deimo... 我不想老是绕着我的肚脐眼转啊,一点也不刺激,“能不能绕着我的头转?” 儿子对它爸说。

evenluo

父图层一听,好啊,你小子,有想法啊,“那行,绕着你的哪一点转都可以,不过,你必须还在我 给你的 position 位置转!你的 position 位置不能变!”

(排名不分先后,感谢他俩的付出!)

儿子想:那我只能挪挪我的 frame 咯,不然没法按照老子的要求转了。 于是,它把自己的 anchorPoint 点移到了 position 位置上,愉快地开始转了=。=

小兵将ZsIsMe的gitbook搬运至简书上,方便大家查看。

所以,总结一下,anchorPoint 是相对于自身的位置,而 position 是相对于父图层的,改变 anchorPoint 只是更改了图层自身旋转地位置,但始终还是要通过改变 frame 使 anchorPoint 和 position 重合,这样它老子才不会骂它

本文由永利402游戏网站-永利402com官方网站发布于网络编程,转载请注明出处:彻底弄清 anchorPoint 和 position

关键词: