主要说关于layer的anchorPoint,图形变换的坐标原点
layer与view是一起的,正常情况下anchorPoint的值是(0.5, 0.5),也就是layer的正中央,如果想把坐标原点变成现在layer的左上角,如果仅仅设置anchorPoint为(0,0),这样的结果是layer的左上角变到了原来的正中央(也就是改变了原来layer的位置position),那么图形的变换就不是原来layer的左上角了,而是原来的正中央,其实就是变换的实际物理点没有变,只是逻辑上的值改了,此时还需要设置下layer的position为(0,0),这样就可以把layer再拉回和原来的位置一样,而且变换的坐标原点变成原来的左上角。
因为: 1)anchorPoint只是逻辑点,不是实际的物理显示点
2)改变layer的anchorPoint的时候,也会改变layer的position,也就是改变了物理显示点,所以当设置anchorPoint为(0,0)的时候,坐标的变换点确实变成了layer的左上角,但是它所占据的物理显示点还是原来的layer的正中央,所以就把物理显示点(position)变到了原来的正中央的位置,也就是(width/2.f, height/2.f),所以必须再设置下postion的值是(0,0),就可以再把layer设置回最开始原来的位置。
有点绕,需要多读几遍。