一直不知道锚点。现在接触下,锚点取值(0~1)(大于1也是有变化的)!,对书上介绍有点吃不透。那就自己动手丰衣足食!
1.
newVeiw是用来标记初始frame的位置,对比改变锚点之后的 视图(layerView)
下面的图片是创建的frame,上面的坐标是我自己理解的锚点(我的锚点)!
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca }
span.s1 { color: #00afca }
span.s2 { }
span.s3 { color: #8b84cf }
span.s4 { color: #ffffff }
span.s5 { color: #c2349b }
CGRect aniRect = CGRectMake(0, 64, 200, 200);
UIView *newView = [[UIView alloc] initWithFrame:aniRect];
newView.backgroundColor = [UIColor redColor];
[self.view addSubview:newView];

2.
当改变锚点的时候,有view的纸片会随之改变在父视图的位置
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca }
span.s1 { }
span.s2 { color: #00afca }
span.s3 { color: #ffffff }
span.s4 { color: #8b84cf }
span.s5 { color: #c2349b }
UIView *layerView = [[UIView alloc] initWithFrame:aniRect];
layerView.backgroundColor = [UIColor grayColor];
layerView.alpha = 0.5;
[self.view addSubview:layerView];
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca }
span.s1 { color: #ffffff }
span.s2 { }
span.s3 { color: #8b84cf }
layerView.layer.anchorPoint = CGPointMake(0, 0);

3 .
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca }
span.s1 { color: #ffffff }
span.s2 { }
span.s3 { color: #8b84cf }
layerView.layer.anchorPoint = CGPointMake(0, 1);

4.
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca }
span.s1 { color: #ffffff }
span.s2 { }
span.s3 { color: #8b84cf }
layerView.layer.anchorPoint = CGPointMake(1, 1);

总结:
下面是我的理解
在父视图创建一个view,当设置frame的时候,会在父视图分割出一个frame大小的区域(个人理解)。调用 addSubview: 方法之后,子视图view会显示在这个frame上(此时还是默认的锚点(0.5,0.5))。
当改变锚点的时候,相当于view的中点A(x,y)在1.中的图片移动。
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca }
span.s1 { }
a
锚点: