Ios 问题:了解CALayer几何。需要帮助

Ios 问题:了解CALayer几何。需要帮助,ios,core-animation,calayer,Ios,Core Animation,Calayer,我试图理解calayer几何,但在理解上有问题 位置(我很清楚) 界限 (Apple docs说)bounds属性是一个CGRect,它提供层的大小(bounds.size)和原点(bounds.origin) 边界原点用作图形上下文的原点 可以替代图层的绘制方法 关于边界,我没有得到这一点 帧 (苹果说) 层具有一个隐式框架,该框架是位置的函数, 边界、锚点和变换属性。设置新框架 矩形更改图层的位置和边界属性 适当地,但不存储帧本身。当一个新的框架 指定矩形时,边界原点不受干扰,而

我试图理解calayer几何,但在理解上有问题

  • 位置(我很清楚)

  • 界限 (Apple docs说)bounds属性是一个CGRect,它提供层的大小(bounds.size)和原点(bounds.origin)

边界原点用作图形上下文的原点 可以替代图层的绘制方法

关于边界,我没有得到这一点

  • (苹果说)
层具有一个隐式框架,该框架是位置的函数, 边界、锚点和变换属性。设置新框架 矩形更改图层的位置和边界属性 适当地,但不存储帧本身。当一个新的框架 指定矩形时,边界原点不受干扰,而 “边界大小”设置为帧的大小。该层的位置是 设置为相对于锚定点的正确位置。当你得到 框架属性值,它是相对于位置计算的, 边界和锚点属性

但这比这更复杂,也更不同

  • 主播这最后是玩边界…让我头晕目眩
我需要帮助


谢谢,各位。每个视图都有自己的坐标系

任何视图的坐标系的原点为(0,0)。因此,任何视图的边界都是该坐标系的“边界”(0,0,宽度,高度)

任何视图的位置都是基于父视图或
superview
的坐标系计算的。这是任何视图的框架,因此是,(x,y,width,height),其中x和y表示左上角和上角或左上角在父坐标系中的位置

ios文档使用此图像对此进行了解释

对于最后一个,由于锚点位于视图的“内部”,因此它在视图的坐标系中表示,因此必须使用边界,就像
center
属性一样

对于CALayer也是如此,其中层的边界在其自己的坐标系中定义,其框架由其超视图定义。有相当多的差异,有些是直接的,比如层有更深入的控制,可以设置zordering并有一个用于处理变换等的定位点。有些是微妙的,比如CALayer的帧属性不可设置动画(即在动画块中更改它没有效果)


此外,我建议您尝试使用较小的程序来理解差异,而不仅仅是尝试从一两本书中获取所有信息,甚至是从其他方面。

问题是我在理解calayer几何概念时遇到了问题Stack Overflow最适合于特定问题。。。除了“我不明白”之外,你还有什么问题吗?我有一个uiview文档也和core animation calayer并排打开了,但苹果说“虽然图层和图层树在许多方面类似于视图和视图层次结构,但图层的几何图形是以不同且通常更简单的方式指定的。可以隐式和显式地为层的所有几何特性(包括层的变换矩阵)设置动画。“视图和图层几何结构不同。它们之间有什么区别?谢谢您的回复。”。