什么是 CALayer 的 AnchorPoint?

什么是 CALayer 的 AnchorPoint?

如果您想在该层上进行任何类型的几何变换,CALayer 的 AnchorPoint 是一个重要的属性。 官方文档。

根据 Apple 的说法:anchorPoint “定义了图层边界矩形的锚点”。

这是一个CGPoint。它的 x 和 y 值以单位坐标表示,从 0 到 1 或 -1 到 0 等等。

AnchorPoint values

上图显示了 CALayer 的锚点。

  1. (0,0) 是左上角
  2. (1,0) 是右上角
  3. (0.5,0.5) 是中心 (默认)
  4. (0,1) 位于左下角
  5. (1,0) 是右下角

(0.5,0.5) 是个 默认 CALayer 的锚点。与上述值一样,锚点也可以在 CALayer 之外。

如果我们改变一个CALayer的anchorPoint,然后应用任何几何变换,它就会根据这个点进行变换。

这是一个例子:

Animation with default AnchorPoint

这是图层旋转动画的示例。 CALayer 的anchorPoint 没有改变,所以它是(0.5,0.5) 层的中心。我们可以看到,图层围绕中心旋转是有道理的。

现在,让我们更改锚点并尝试相同的操作。

Animation with changed anchorPoint

这次图层的anchorPoint 已更改为左上角的(0,0)。我们可以看到图层现在围绕左上角旋转。只需在设置图层框架之前设置锚点。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/12166/46010411

posted @   哈哈哈来了啊啊啊  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示