关于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)位置

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

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

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

  

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

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

 

大概就是这样了。

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

posted on 2014-03-28 22:39  chenhanqing_blcu  阅读(253)  评论(0编辑  收藏  举报