CALayer3-层的属性

【CALayer-CALayer的基本属性 Objective-C语言】 阅读详情

一、隐式动画属性

* 在前面几讲中已经提到,每一个UIView内部都默认关联着一个CALayer,我们可用称这个Layer为Root Layer(根层)。所有的非Root Layer,也就是手动创建的CALayer对象,都存在着隐式动画。

* 当对非Root Layer的部分属性进行相应的修改时,默认会自动产生一些动画效果,这些属性称为Animatable Properties(可动画属性)。

* 列举几个常见的Animatable Properties:

  • bounds:用于设置CALayer的宽度和高度。修改这个属性会产生缩放动画
  • backgroundColor:用于设置CALayer的背景色。修改这个属性会产生背景色的渐变动画
  • position:用于设置CALayer的位置。修改这个属性会产生平移动画

比如:假设一开始CALayer的position为(100, 100),然后在某个时刻修改为(200, 200),那么整个CALayer就会在短时间内从(100, 100)这个位置平移到(200, 200)

* 我们也可以从官方文档中查询所有的Animatable Properties

1.点击Window -> Organizer

 

2.在搜索框输入"animatable"即可

 

二、position和anchorPoint

* position和anchorPoint属性都是CGPoint类型的

* position可以用来设置CALayer在父层中的位置,它是以父层的左上角为坐标原点(0, 0)

* anchorPoint称为"定位点",它决定着CALayer身上的哪个点会在position属性所指的位置。它的x、y取值范围都是0~1,默认值为(0.5, 0.5)

1.创建一个CALayer,添加到控制器的view的layer中

复制代码
 1 CALayer *myLayer = [CALayer layer];
 2 // 设置层的宽度和高度(100x100)
 3 myLayer.bounds = CGRectMake(0, 0, 100, 100);
 4 // 设置层的位置
 5 myLayer.position = CGPointMake(100, 100);
 6 // 设置层的背景颜色:红色
 7 myLayer.backgroundColor = [UIColor redColor].CGColor;
 8 
 9 // 添加myLayer到控制器的view的layer中
10 [self.view.layer addSublayer:myLayer];
复制代码

第5行设置了myLayer的position为(100, 100),又因为anchorPoint默认是(0.5, 0.5),所以最后的效果是:myLayer的中点会在父层的(100, 100)位置

注意,蓝色线是我自己加上去的,方便大家理解,并不是默认的显示效果。两条蓝色线的宽度均为100。

 

2.若将anchorPoint改为(0, 0),myLayer的左上角会在(100, 100)位置

复制代码
1 myLayer.anchorPoint = CGPointMake(0, 0);
复制代码

 

3.若将anchorPoint改为(1, 1),myLayer的右下角会在(100, 100)位置

复制代码
1 myLayer.anchorPoint = CGPointMake(1, 1);
复制代码

 

 

4.将anchorPoint改为(0, 1),myLayer的左下角会在(100, 100)位置

复制代码
1 myLayer.anchorPoint = CGPointMake(0, 1);
复制代码

我想,你应该已经明白anchorPoint的用途了吧,它决定着CALayer身上的哪个点会在position所指定的位置上。它的x、y取值范围都是0~1,默认值为(0.5, 0.5),因此,默认情况下,CALayer的中点会在position所指定的位置上。当anchorPoint为其他值时,以此类推。

基于FreeSWITCH与阿里云SDM的语音机器人快速搭建实践 语音机器人的落地离不开电话接入层与AI能力层的协同。FreeSWITCH作为开源的软交换平台,负责SIP呼叫与RTP媒体流处理;MRCP协议则连接FreeSWITCH与ASR、TTS引擎,实现语音识别与合成。通过Docker容器化部署FreeSWITCH,可极大降低环境搭建与版本维护成本。结合阿里云SDM(MRCP-SERVER)提供的云端识别与合成能力,开发者无需自研桥接服务,即可快速打通从电话呼入到语音交互的完整链路。掌握unimrcp配置、拨号计划设计、P-Early-Media等关键参数,能有效解决 阅读详情

相关推荐

SDRAM控制器——添加读写FIFO

用FIFO实现数据缓存

H19981118的博客 2627

iOS 边学边记 CALayer 属性position 、anchroPoint、隐式动画

## 一、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、图示

一了百-了的博客 393

【Ultrascale+ MPSOC学习记录】10、PS端以太网使用lwip

还是参考ALINX教程,学习PS端以太网如何使用,从教程中可以看到,开发板使用了一个xilinx默认不支持的phy JL2121,所以需要修改lwip的库源码。

ryo891012的博客 881

iOS开发UI篇—CAlayer层的属性(position、anchorPoint) 和隐式动画

【iOS开发UI篇—CAlayer层的属性(position、anchorPoint) 和隐式动画】 一、position和anchorPoint CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGP

620

【车辆动力学】专栏目录汇总

车辆动力学知识目录汇总

CrazyRabbit的博客 1713

测试 Wi-Fi、蓝牙性能

前几天去原厂测试了 Wi-Fi 和蓝牙的性能,现在把了解到的知识总结一下 RF通路新理解 RF通路一般分为两部分:芯片端、天线端 芯片端 芯片端包括芯片+芯片出来的RF匹配电路,是来调芯片的阻抗匹配的。 天线端 天线前一般也会有一段天线匹配电路,是留给天线调天线的阻抗匹配的。 调试的时候是两部分分开调试的,下面调试的就是芯片端。 测试“阻抗匹配”用网络分析仪看史密斯圆图 测试...

撒哈拉的初学者的博客 1万+

CALayer 层的属性-3

转自  http://www.cnblogs.com/mjios/archive/2013/04/14/3020291.html 本文目录 一、隐式动画属性二、position和anchorPoint 回到顶部 一、隐式动画属性 * 在前面几讲中已经提到,每一个UIView内部都默认关联着一个CALayer,我们可用称这个Layer为Root

depthlove2011的专栏 623

探索gtwr of mgtwr in python

代码】探索gtwr of GWmodel in python。

m0_46268055的博客 3388

iOS UI篇3—CAlayer层的属性

一、position和anchorPoint1.简单介绍CALayer有2个非常重要的属性:position和anchorPoint@property CGPoint position;用来设置CALayer在父层中的位置以父层的左上角为原点(0, 0)@property CGPoint anchorPoint;称为“定位点”、“锚点”决定着CALayer身上的哪个点会在position属性所指的位

jeikerxiao 381

HTML粉色爱心(完整代码)

HTML语言实现粉色爱心的完整代码。

AIGC 1105

仿真学习系列(四十二):Sigrity仿真之走线阻抗和耦合检查

在高速电路设计中,走线的阻抗和信号线之间的耦合是影响信号完整性的重要因素。设计中可能会出现多种情况,导致阻抗变化或不匹配,例如线宽的变化、跨层分割等。传统的人工检查方法常常不够高效且易忽视细节。借助仿真软件,可以快速定位问题区域,并进行精确分析,从而有效避免或减少信号反射和串扰带来的影响。

案例文章,高速信号 425
上一篇: CALayer2-创建新的层
下一篇: CALayer4-自定义层
SpeedyCoder
博客等级 码龄14年 415粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值