关于position和anchorPoint之间的关系

看了很久才搞明白position和anchorpoint之间的关系,position就是一个Layer的中心点,而anchorpoint就是当前layer的哪一个百分比点在position的那个位置上,默认anchorpoint是(0.5,0.5);

1 CALayer *myLayer = [CALayer layer];

 2 // 设置层的宽度和高度(100x100)

 3 myLayer.bounds = CGRectMake(0, 0, 100, 100);

 4 // 设置层的位置

 5 myLayer.position = CGPointMake(100, 100);

 6 // 设置层的背景颜色:红色

 7 myLayer.backgroundColor = [UIColor redColor].CGColor;

 8 

 9 // 添加myLayer到控制器的view的layer中

10 [self.view.layer addSublayer:myLayer];

  

第5行设置了myLayer的position为(100, 100),又因为anchorPoint默认是(0.5, 0.5),所以最后的效果是:myLayer的中点会在父层的(100, 100)位置

关于position和anchorPoint之间的关系

注意,蓝色线是我自己加上去的,方便大家理解,并不是默认的显示效果。两条蓝色线的宽度均为100。

2.若将anchorPoint改为(0, 0),myLayer的左上角会在(100, 100)位置

1 myLayer.anchorPoint = CGPointMake(0, 0); 

  关于position和anchorPoint之间的关系

4.将anchorPoint改为(0, 1),myLayer的左下角会在(100, 100)位置

1 myLayer.anchorPoint = CGPointMake(0, 1);

关于position和anchorPoint之间的关系

 

大概就是这样了。

也可以看:http://www.cnblogs.com/mjios/archive/2013/04/14/3020291.html

你可能感兴趣的:(position)