说说anchorPoint

anchorPoint属性是CGPoint(x,y) ,x,y的取值是按比例取值,一般用0~1,默认是(0.5,0.5),表示图层的position在自身的位置,举个例子,

在红色view确定完大小位置后,如果修改layer的定位点也就是anchorPoint,会让红色view的中心点position发生偏移,此时的定位点在箭头指向的地方,anchorPoint的取值是layer左上角是(0,0),右下角是(1,1),layer的中心因为anchorPoint的改变而改变,anchorPoint参考左上角(1,1),右下角(0,0)来改变layer中心点的位置,本例中anchorPoint = (0.5,1),那么视图就会向上移动0.5个layer的height,此时anchorPoint在箭头所在位置,

anchorPoint本质上就是个点,只是在视图frame先确定的情况下,会让layer的中心点改变,anchorPoint的取值是依托于layer的,

本题中如果先写v.layer.anchorPoint,后写v.frame,那么视图的中心不变,只是定位点的坐标发生了变化而已,因为定位点在layer位置不存在的时候没办法改变layer的中心点

时间: 2024-08-01 19:39:40

说说anchorPoint的相关文章

CALayer 的 position和anchorPoint属性

在iOS 中,UIButton.UIImage等UIView 之所以能够显示在屏幕上,是因为其内部有一个图层(CALayer).通过UIView的layer 属性可以访问这个图层: @property(nonatomic,readonly,retain) CALayer *layer; 当UIView需要显示到屏幕上时,会调用 drawRect: 方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝的屏幕上,于是就完成了UIView的显示. UIView中有两个容易混淆

iOS开发——使用OC篇&frame,bounds,center,position,anchorPoint总结

frame,bounds,center,position,anchorPoint总结 图层的 position 属性是一个 CGPoint 的值,它指定图层相当于它父图层的位置, 该值基于父图层的坐标系. 图层的 bounds 属性是一个 CGRect 的值,指定图层的大小(bounds.size)和图层的 原点(bounds.origin).当你重写图层的重画方法的时候,bounds 的原点可以作为图形 上下文的原点. 图层拥有一个隐式的 frame,它是 position,bounds,an

什么是锚点(AnchorPoint)

1.锚点通常是图形的几何中心, AnchorPoint(x,y)的两个参量x和y的取值通常都是0到1之间的实数,表示锚点相对于节点长宽的位置. 例如,把节点左下角作为锚点,值为(0,0): 把节点的中心作为锚点,值为(0.5,0.5): 把节点右下角作为锚点,值为(1,0). 精灵的AnchorPoint默认值为(0.5,0.5),其他节点的默认值为(0,0),如CCLayer. 相关的操作:setAnchorpoint(0,0); 影响: 1.挂载位置,   2.缩放,     3.旋转 my

彻底理解position与anchorPoint

引言 相信初接触到CALayer的人都会遇到以下几个问题: 为什么修改anchorPoint会移动layer的位置? CALayer的position点是哪一点呢? anchorPoint与position有什么关系? 我也迷惑过,找过网上的教程,大部分都是复制粘贴的,有些是翻译的文章但很有问题,看得似懂非懂,还是自己写代码彻底弄懂了,做点笔记吧. 每一个UIView内部都默认关联着一个CALayer, UIView有frame.bounds和center三个属性,CALayer也有类似的属性,

CALayer 易混淆的两个属性 - position和anchorPoint

1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position;                                                                                                                                                                   用来设置CALayer在父层

锚点anchorPoint

// //  ViewController.m //  UI-NO-36-2 锚点 // //  Created by 容伟 on 15/9/15. //  Copyright (c) 2015年 容伟. All rights reserved. // /*  锚点: anchorPoint     以锚点为中心 执行动画 (与 渔夫固定船的点时一致的)        anchorPoint 默认是 0.5,0.5  (注意: 锚点 是一个比例)      anchorPoint 在左上角的时候

CALayer的position,anchorPoint属性 与UIView的frame 属性

彻底理解CALayer的position,anchorPoint属性 与UIView的frame 属性 1.position,anchorPoint两者都是CALayer的属性,都是CGPoint点 @property CGPoint position @property CGPoint anchorPoint 从一个例子开始入手吧,想象一下,把一张A4白纸用图钉订在书桌上,如果订得不是很紧的话,白纸就可以沿顺时针或逆时针方向围绕图钉旋转,这时候图钉就起着支点的作用.我们要解释的anchorPo

SpriteKit游戏开发点滴[5]旋转 & Anchorpoint

最近在做关于旋转的动画效果,遇到了些问题,在解决问题的过程中对SpriteKit中的旋转有所更加深入的了解,在此进行个总结. 我想实现下面的这个效果:一个水管绕着白色星球的中心进行旋转. 最自然的想法是直接使用SpriteKit的SKAction.rotateByAngle方法直接进行旋转即可. 那么问题来了,一个SKSpriteNode元素如何绕一个指定的点旋转呢? 默认情况下,每个SKSpriteNode节点都有一个锚点(Anchorpoint),而rotateByAngle方法则是以锚点为

ios开发讲解之anchorPoint和position详解

(此篇文章为转载,感谢原作者描述的很准确) 引言 相信初接触到CALayer的人都会遇到以下几个问题:  为什么修改anchorPoint会移动layer的位置? CALayer的position点是哪一点呢? anchorPoint与position有什么关系? 每一个UIView都默认关联着一个CALayer, UIView有frame.bounds和center三个属性,CALayer也有类似的属性,分别为frame.bounds.position.anchorPoint.那positio