iOS核心动画之anchorpoint
anchorpoint是什么
All geometric manipulations to the view occur about the specified point
就是说所有的动画参考点都是anchorpoint。比如说旋转动画,就是说所有的点都围绕这个点做动画;再比如说缩放,就是说所有的点到锚点的距离变为原来的多少倍。
anchorPoint和动画
anchorpoint和frame、bounds、position
每一个view都有对应的layer,layer的delegate是view。可以理解为访问、改变view的属性其实是在访问、改变layer的属性,只不过view可以相应点击事件。
view的属性frame
,bounds
,center
实际上就是layer的frame
,bounds
,position
属性。
anchorpoint
是一个点,是相对位置,即{0,0}是左上角,{1,1}是右下角。一个layer的anchorpoint
和position
是同一个点,只不过是在不同的坐标系下。anchorpoint
在bounds的单位坐标系下,position
是在super layer的坐标下。
改变anchorpoint
时,position
不会改变,而是会改变frame
的原点。满足frame.origin.x = position.x - anchorPoint.x*bounds.size.width
。
利用anchorpoint免去复杂的变换
资料
下起雨,也要勇敢前行