首页 > 其他分享 >什么是 CALayer 的 AnchorPoint?

什么是 CALayer 的 AnchorPoint?

时间:2022-09-04 11:57:35浏览次数:77  
标签:AnchorPoint 什么 0.5 锚点 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

标签:AnchorPoint,什么,0.5,锚点,CALayer,anchorPoint,图层
From: https://www.cnblogs.com/amboke/p/16654749.html

相关文章

  • 为什么要在学习花哨的 JS 框架之前学习 Vanilla JavaScript?
    为什么要在学习花哨的JS框架之前学习VanillaJavaScript?这是DavidKopal的博客。在此博客中,您可以了解VanillaJS在您的职业生涯中的好处。他在博客中分享的文字......
  • 我学到了什么 创建我的第一个“大”网络项目
    我学到了什么创建我的第一个“大”网络项目昨天,我完成了我的第一个大型Web项目:一个单页SaaS网站。大,我的意思是我花了整整六天时间才完成。在宏伟的计划中并不长,但我......
  • ping命令显示的TTL是什么意思
    ping命令显示的TTL是什么意思_Jack2013tong的博客-CSDN博客_ping设置ttl https://blog.csdn.net/huwei2003/article/details/53113874如下ping的结果C:\>ping192.168......
  • Bun.sh 是什么?
    Bun.sh是什么?Bun是一个快速的一体化JavaScript运行时Bun是像Node或Deno一样的现代JavaScript运行时。它是从头开始构建的,专注于三个主要方面:快速开始(考虑......
  • 什么是编译器?
    什么是编译器?CompileErrors如果您曾经接触过编程或编码,那么您很可能听说过编译器。特别是当您尝试构建从GitHub获得的C/C++项目时,它们会出现丑陋的链接和编译器错......
  • 你今天为什么写代码?为什么,为什么,为什么,为什么?为您的工程项目构建完美的叙述。
    你今天为什么写代码?为什么,为什么,为什么,为什么?为您的工程项目构建完美的叙述。你今天写代码了吗?修复了一些错误,防止了未来的中断,清理了死代码,或者为sprint完成了新功能。......
  • 什么是覆盖索引
    前言在了解索引覆盖前,我们先来看下,聚集索引,非聚集索引,回表等概念.什么是聚集索引聚集索引是按照每张表的主键构造一颗B+树,同时叶子节点中存放的就是整张表的行记录数......
  • Vuex是什么,每个属性是干嘛的,如何使用 ?
    Vuex是集中管理项目公共数据的仓库。Vuex大幅减少了组件通信的繁杂度,拥有state数据存储,mutations处理同步事件,modules模块的注册,actions处理异步事件,getters过滤数......
  • 网站使用CDN对SEO有什么影响?
    网站开启CDN主要原因为以下三点:1、给网站加速,让网站访问更快一些。2、隐藏网站IP,减少被ddos攻击。3、服务器安全配置不高的情况下,可通过CDN来配置安全措施,避免CC攻击和......
  • 什么是测试驱动开发(TDD)?
    什么是测试驱动开发(TDD)?自从我的软件工程之旅开始以来,我的脑海中就没有几个关键问题,特别是关于测试策略我是否编写了足够的测试,我的测试套件是否完全适合所有用户场景?我......