首页 > 代码库 > ios anchorPoint 我的看法

ios anchorPoint 我的看法

 

一直不知道锚点。现在接触下,锚点取值(0~1)(大于1也是有变化的)!,对书上介绍有点吃不透。那就自己动手丰衣足食!

1.

  newVeiw是用来标记初始frame的位置,对比改变锚点之后的 视图(layerView)

  下面的图片是创建的frame,上面的坐标是我自己理解的锚点(我的锚点)!

<style>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 }</style>

    CGRect aniRect = CGRectMake(0, 64, 200, 200);

    UIView *newView = [[UIView alloc] initWithFrame:aniRect];

    newView.backgroundColor = [UIColor redColor];

    [self.view addSubview:newView];

技术分享

 2.

  当改变锚点的时候,有view的纸片会随之改变在父视图的位置

<style>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 }</style>

    UIView *layerView = [[UIView alloc] initWithFrame:aniRect];

    layerView.backgroundColor = [UIColor grayColor];

    layerView.alpha = 0.5;

    [self.view addSubview:layerView];

 

 

<style>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 }</style>

layerView.layer.anchorPoint = CGPointMake(0, 0);

技术分享

 

3 .

<style>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 }</style>

layerView.layer.anchorPoint = CGPointMake(0, 1);

技术分享

 4.

<style>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 }</style>

    layerView.layer.anchorPoint = CGPointMake(1, 1);

 技术分享

 

总结:

下面是我的理解

  在父视图创建一个view,当设置frame的时候,会在父视图分割出一个frame大小的区域(个人理解)。调用  addSubview: 方法之后,子视图view会显示在这个frame上(此时还是默认的锚点(0.5,0.5))。

  当改变锚点的时候,相当于view的中点A(x,y)在1.中的图片移动。

<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #00afca } span.s1 { }</style>

a

锚点:

 

ios anchorPoint 我的看法