首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    说说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

    75320编辑于 2022-09-06
  • 来自专栏全栈程序员必看

    anchorPoint详解彻底理解position与anchorPoint

    http://ideveloper.co/understanding-the-anchor-point/ 彻底理解position与anchorPoint http://wonderffee.github.io /blog/2013/10/13/understand-anchorpoint-and-position/ eg fjfxt_ii typhoon module 版权声明:本文内容由互联网用户自发贡献,

    25930编辑于 2022-11-10
  • 来自专栏全栈程序员必看

    position和anchorPoint

    一、理论概述 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint anchorPoint; 称为“定位点”、“锚点” 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点 (0, 0) 它的x、y取值范围都是0~1,默认值为(0.5, 0.5) 2.图示 anchorPoint 它的取值为0~1 红色图层的anchorPoint为(0,0) 红色图层的anchorPoint 为(0.5,0.5) 红色图层的anchorPoint为(1,1) 红色图层的anchorPoint为(0.5,0) position和anchorPoint 添加一个红色图层到绿色图层上,红色图层显示到什么位置 redColor].CGColor; 8 layer.bounds=CGRectMake(0, 0, 100, 100); 9 //设置锚点为(0,0) 10 layer.anchorPoint

    77940编辑于 2022-11-08
  • 来自专栏全栈程序员必看

    CALayer之anchorPoint分析

    anchorPoint:CALayer中心点,动画特效的中心点,取值区间[0.0, 1.0],默认为(0.5, 0.5); position:CALayer中心点坐标; frame.origin :由anchorPoint、position共同计算得出: frame.origin.x = position.x – anchorPoint * bounds.size.width; frame.origin.y = bounds.size.height; 有些动画效果需要我们修改anchorPoint,比如绕着自身某条边旋转等。 当我们改变了anchorPoint,计算出的frame.origin也会随之改变,因此最终显示的图像就会发生偏移,这时就需要我们对position或frame做适当的修改。 : CGPoint anchorPoint = CGPointMake(0.0, 0.5); btnBlue.layer.anchorPoint = anchorPoint; 修改之后,btnBlue

    39120编辑于 2022-11-08
  • 来自专栏全栈程序员必看

    Anchorpoint_the mythology handbook

    之前做一个imageview的transform的动画,从scale(1,1)变成scale(0.3,0.3)变化是以imagview为中心点的,想要改成以imageview的顶部中间位置为变化起点,也就是anchorPoint (0.5,0.0),发现会有问题,设置了anchorPoint之后,imageview的位置发生了变化,变化之后的中心点的位置成了变化之前的顶部的位置,然后变化还是从新的frame的中心店开始变化了,要解决这个情况 ,需要在设置了anchorPoint之后,再重新设置一下frame就OK了。 相关链接: http://www.tuicool.com/articles/MvI7fu3 相关公式: position.x = frame.origin.x + anchorPoint.x * bounds.size.width ; position.y = frame.origin.y + anchorPoint.y * bounds.size.height; 因此,修改anchorPoint,会导致frame移动 版权声明

    27130编辑于 2022-11-08
  • 来自专栏全栈程序员必看

    详解CALayer的anchorPoint和position

    的位置 锚点 如何理解anchorPoint (锚点)? @property CGPoint position @property CGPoint anchorPoint anchorPoint 一般都是先介绍position,再介绍anchorPoint。 我这里反过来,先来说说anchorPoint。 在iOS中,anchorPoint点的值是用一种相对bounds的比例值来确定的,在白纸的左上角、右下角,anchorPoint分为为(0,0), (1, 1),也就是说anchorPoint是在单元坐标空间 anchorPoint、position、frame anchorPoint的默认值为(0.5,0.5),也就是anchorPoint默认在layer的中心点。

    1.5K30编辑于 2022-11-08
  • 来自专栏RFFAN实验室

    彻底理解position与anchorPoint

    @property CGPoint position @property CGPoint anchorPoint anchorPoint 一般都是先介绍position,再介绍anchorPoint。 我这里反过来,先来说说anchorPoint。 如何衡量图钉(anchorPoint)在白纸中的位置呢? 在iOS中,anchorPoint点的值是用一种相对bounds的比例值来确定的,在白纸的左上角、右下角,anchorPoint分为为(0,0), (1, 1),也就是说anchorPoint是在单元坐标空间 anchorPoint、position、frame anchorPoint的默认值为(0.5,0.5),也就是anchorPoint默认在layer的中心点。

    2K10发布于 2020-05-09
  • 来自专栏全栈程序员必看

    ios-anchorPoint、position理解

    anchorPoint(锚点)是layer的一个属性,下面我们来看看其对view的影响,本文主要通过图片方式展现: 锚点用单位坐标来描述也就是图层的相对坐标。 CGRectMake(100, 100, leftW, topH)]; allView1.backgroundColor = [UIColor orangeColor]; allView1.layer.anchorPoint 在superLayer中的坐标点,计算方式如下: position.x = frame.origin.x + anchorPoint.x * bounds.size.width; position.y = frame.origin.y + anchorPoint.y * bounds.size.height; 当设置视图的frame属性,position点的位置(也就是position坐标)根据锚点 (anchorPoint)的值来确定,而当设置图层的position属性的时候,bounds的位置(也就是frame的orgin坐标)会根据锚点(anchorPoint)来确定。

    1.2K10编辑于 2022-11-09
  • 来自专栏全栈程序员必看

    彻底弄清 anchorPoint 和 position「建议收藏」

    传送门 在读到图层几何学这一章的时候,了解到了两个概念:anchorPoint 和 position。 之前一直把 position 当成是矩形的中心点,如同 UIView 的 center 属性(事实上,在不改变 anchorPoint 的前提下,它确实是图层的中心点),但当 anchorPoint 改变的时候 于是,它把自己的 anchorPoint 点移到了 position 位置上,愉快地开始转了=。 = 所以,总结一下,anchorPoint 是相对于自身的位置,而 position 是相对于父图层的,改变 anchorPoint 只是更改了图层自身旋转地位置,但始终还是要通过改变 frame 使 anchorPoint 和 position 重合,这样它老子才不会骂它, 不知道这样的方式大家能不能看懂啊:) 好了,我的第一次简书分享也告一段落了。

    54860编辑于 2022-11-08
  • 来自专栏转载gongluck的CSDN博客

    cocos2d-x AnchorPoint锚点

    锚点是定位和变换操作的一个重点。锚点我们可以看成用一根图钉将一张纸或者相片钉在墙上的那个点。 节点的位置是由我们设置的position和anchor point一起决定的。 值得一提的是,anchor point的默认位置Layer的是左下,而其他的node是中点。 节点的原点是父节点的左下角。 CCLayer* layer1 = CCLayerColor::create(ccc4(255,0,0,255), 300, 200);   CCLayer* layer2 = CCLayerColor::crea

    2.7K70发布于 2018-03-08
  • 来自专栏tkokof 的技术,小趣及杂念

    NGUI AnchorPoint与Camera CullingMask的结合之痛

    问题 NGUI内建的Anchor系统可以方便的定位UI(底层的一个支持结构是AnchorPoint),例如一些需要全屏显示的游戏界面一般都需要借助这项功能;另外的,对于稍复杂的UI设计,我们可能会将UI

    57420发布于 2018-08-02
  • 来自专栏全栈程序员必看

    IOS开发之——Position和AnchorPoint(92)「建议收藏」

    一 概述 CAlayer中position和anchorPoint属性说明 position和anchorPoint示意图 二 position和anchorPoint属性说明 CALayer 中有2个非常重要的属性:position和anchorPoint @property CGPoint position 用来设置CALayer在父层中的位置 以父层的左上角为原点(0,0) @property CGPoint anchorPoint 称为“定位点”,“锚点” 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点(0,0) 它的x,y取值范围都是0~1,默认值为 (0.5,0.5),意味着在layer的中间 三 示意图 3.1 anchorPoint在坐标系中的示意图 3.2 将红色图层添加到绿色图层上时示意图 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

    53420编辑于 2022-11-09
  • 来自专栏iOS逆向与安全

    iOS动画小知识:定点缩放弹窗(利用锚点anchorPoint进行实现)包含完整demo

    1.1 anchorPoint anchorPoint就相当于白纸上的图钉,它主要的作用就是用来作为变换的支点,旋转就是一种变换,类似的还有平移、缩放。 在iOS中,anchorPoint点的值是用一种相对bounds的比例值来确定的,在白纸的左上角、右下角,anchorPoint分为为(0,0), (1, 1),也就是说anchorPoint是在单元坐标空间 position是layer中的anchorPoint点在superLayer中的位置坐标。 anchorPoint的默认值为(0.5,0.5),也就是anchorPoint默认在layer的中心点。 frame.origin由position和anchorPoint共同决定。 ; view.layer.anchorPoint = anchorpoint; view.frame = oldFrame; } II iOS开发中常用的动画(定点缩放弹窗) 在这里插入图片描述

    2.5K21编辑于 2022-08-22
  • 来自专栏梧雨北辰的开发录

    iOS动画-CALayer布局属性详解

    六、中心点(position)与锚点(anchorPoint) 1.锚点的概念 position与anchorPoint是两个容易混淆的概念,我们首先从Xcode中找到关于它们的注释说明如下: /* The 的anchorPoint来确定的。 我们也可以更确切理解为:position是相对于superLayer来讲,而anchorPoint是相对于当前layer来讲;只不过在默认情况下,anchorPoint与position是重合的;锚点是用单位坐标来描述的 = view.frame.origin; view.layer.anchorPoint = anchorPoint; CGPoint newOrigin = view.frame.origin forView:(UIView *)view{ CGPoint oldOrigin = view.frame.origin; view.layer.anchorPoint = anchorPoint

    2.6K20发布于 2019-04-23
  • 来自专栏iOS逆向与安全

    iOS利用锚点实现定点缩放弹窗

    1.1 anchorPoint anchorPoint就相当于白纸上的图钉,它主要的作用就是用来作为变换的支点,旋转就是一种变换,类似的还有平移、缩放。 在iOS中,anchorPoint点的值是用一种相对bounds的比例值来确定的,在白纸的左上角、右下角,anchorPoint分为为(0,0), (1, 1),也就是说anchorPoint是在单元坐标空间 position是layer中的anchorPoint点在superLayer中的位置坐标。 anchorPoint的默认值为(0.5,0.5),也就是anchorPoint默认在layer的中心点。 frame.origin由position和anchorPoint共同决定. ; view.layer.anchorPoint = anchorpoint; view.frame = oldFrame; } II、 iOS开发中常用的动画(定点缩放弹窗) ?

    2K31发布于 2021-07-29
  • 来自专栏Charlie's Road

    图层几何学 -- iOS Core Animation 系列二

    ---- 2.锚点 默认来说,anchorPoint位于图层的中点。这个属性没有被UIView直接暴露出来。但是图层的anchorPoint可以被移动。 我们可以把anchorPoint置于图层frame的左上角。将会出现下图右侧的情况: ? 注意上图,改变anchorPoint后position的值并没变。 和系列一中提到的contentsRect类似,anchorPoint用单位坐标来表示(默认情况是{0.5, 0.5})。可以通过指定x和y值小于0或者大于1,使它放置在图层范围之外。 这时候就是要用到anchorPoint的时候。 处理代码如下: // 在viewdidload中添加 self.secondHand.layer.anchorPoint = CGPointMake(0.5f, 0.9f); self.minuteHand.layer.anchorPoint

    91930发布于 2018-10-19
  • 来自专栏梧雨北辰的开发录

    iOS动画-CALayer基础知识

    六、中心点(position)与锚点(anchorPoint) 1.锚点的概念 position与anchorPoint是两个容易混淆的概念,我们首先从Xcode中找到关于它们的注释说明如下: /* The 的anchorPoint来确定的。 我们也可以更确切理解为:position是相对于superLayer来讲,而anchorPoint是相对于当前layer来讲;只不过在默认情况下,anchorPoint与position是重合的;锚点是用单位坐标来描述的 = view.frame.origin; view.layer.anchorPoint = anchorPoint; CGPoint newOrigin = view.frame.origin forView:(UIView *)view{ CGPoint oldOrigin = view.frame.origin; view.layer.anchorPoint = anchorPoint

    2.4K50发布于 2019-04-22
  • 来自专栏欧阳大哥的轮子

    UIView中frame属性的内部实现

    系统为了表征锚点而为层提供了一个anchorPoint属性。 UIView *A = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)]; A.anchorPoint = CGPointMake(0,0); frame的计算规则 从上面的介绍中可以看出,一个视图最终渲染出来的位置和尺寸需要通过设置视图或者层的center、bounds、transform、anchorPoint四个属性来完成。 , -1 * self.bounds.size.height * self.layer.anchorPoint.y); //因为下面的坐标变换应用是从(0,0)开始的,因此这里的 = frame.origin.y + self.bounds.size.height * self.layer.anchorPoint.y; self.bounds.size.width

    2K30发布于 2019-07-02
  • 来自专栏全栈程序员必看

    iOS动画小知识:定点缩放弹窗(利用锚点anchorPoint进行实现)包含完整demo

    文章目录 前言 I 基础知识 (CALayer) 1.1 anchorPoint 1.2 position II iOS开发中常用的动画(定点缩放弹窗) 2.1 核心代码 2.2 完整

    58520编辑于 2022-11-08
  • 来自专栏全栈程序员必看

    touchpoint_pointpillars

    锚点的简介 ---- 在SpriteKit的游戏开发当中经常会使用到AnchorPoint这一属性,锚点的使用一般是配合着position属性使用的,锚点是在自身View上找,这个点一一映射的有一个父view 的坐标(使用position来表示),可以通过这两个值来计算子视图的位置信息.也就是说position 用来设置CALayer在父层中的位置,而anchorPoint 决定着CALayer身上的哪个点会在 方案一: 设置View的position(位置信息)为(50,50),锚点AnchorPoint为(0.5,0.5),那么这样做就说明View的中心是在父视图的(50,50)这个点上.如图中 ① 所示. 方案二: 设置View的position(位置信息)为(50,50),锚点AnchorPoint为(0,0),那么这样做就说明View的原点是在父视图的(50,50)这个点上.如图中 ② 所示. 方案三: 设置View的position(位置信息)为(50,50),锚点AnchorPoint为(1,1),那么这样做就说明View的终点是在父视图的(50,50)这个点上.如图中 ③ 所示.

    66930编辑于 2022-11-09
领券