(一二〇)CALayer的一些特性

1.每一个View都自带一个CALayer,称为rootLayer,layer能够和实现与View一样的显示功能,可是它不继承UIResponse,也就是说它无法处理事件,所以为了处理事件还是要用View,假设仅仅是显示,能够选择layer。

以下的代码实现了自己定义一个layer加入到控制器的rootLayer上,layer能够正常显示。

CALayer *layer = [CALayer layer];
layer.bounds = CGRectMake(0, 0, 200, 200);
layer.position = CGPointMake(200, 200);
layer.backgroundColor = [UIColor redColor].CGColor;
[self.view.layer addSublayer:layer];

须要注意的是,CALayer来自QuartzCore框架。是跨平台的,而UIColor、UIImage等来自UIKit框架,仅限于iOS系统使用,因此要设置背景、layer内容。一定要进行转换。

以下的代码实现了设置layer的内容为一张图片:

layer.contents = (__bridge id)[UIImage imageNamed:@"header.png"].CGImage;

2.Layer另一个锚点属性,能够设置postion的參考点,锚点分为x、y坐标。范围是0~1,(0,0)代表position从图片左上角開始计算(默认值),(0.5,0.5)则代表以图片中心点開始计算,这时候postion就相当于center属性,以此类推,通过锚点属性能够简化坐标运算。

3.Layer还具有隐式动画特性,所谓隐式动画,指的是假设UIView上有除rootLayer以外的layer,当那个layer的一些可运行动画的属性被改动时,会自己主动运行动画。比如transform。假设要消除隐式动画,须要通过提交事务的方式声明,以下的代码实现了对隐式动画的取消:

[CATransaction begin]; // 开启一个事务
[CATransaction setDisableActions:YES];
_layer.transform = CATransform3DMakeTranslation(100, 100, 0);
[CATransaction commit]; // 提交事务
时间: 2024-10-10 12:24:15

(一二〇)CALayer的一些特性的相关文章

工作五年总结一二三流公司的常见特性

1.程序认证 一流的公司用加密cookie:二流公司用域认证:三流+的公司用session 2.提供页面服务 一流的公司采用路由:二流的公司采用.jsp..aspx..asp..py:然而.html提供服务的纯属垃圾公司. 3.前端框架 一流公司用自己框架.二流公司用angluar,backbone,react等.三流+用jquery,easyui等. 4.数据库 一流公司定制mysql和nosql产品.二流公司Oracle,CRC.三流盗版和正版的MSSQLSERVER 5.提供数据服务 一流

空间谱专题03:相干信号的处理方式

作者:桂. 时间:2017-09-09  16:44:12 链接:http://www.cnblogs.com/xingshansi/p/7413133.html 主要理论空间平滑算法,首先分析相干信号特性. 〇.相干信号特性 以两个信号为例 求相关矩阵 如果两个信号的相关系数ρ满足: 1)ρ=0,则认为两信号不相关: 2)0<ρ<1,则认为两信号相关: 3)ρ = 1,则两信号相干. 当两信号相干时,ρ=1,对于相关矩阵: 秩为1,这就造成了秩亏,对于子空间等空间谱估计算法便不再适用. 也可

UIView和CALayer有什么关系

view是对layer的一种封装,你对view的很多操作事实上是对layer的操作,之所以会出现这两个东西是因为1.view支持很多手势的交互,你所操作iphone的各种点击,拖动等等.2.layer来至于mac os,是可以跨平台的东西.这里就是个很要学问的东西,系统的可变部分和不可变部分,可变部分越多,系统越不稳定,但是功能就更加丰富.layer就是作为一种不可变的东西存在,view作为一种可变的东西存在,所有我们每次在ios更新时候获得了大量的view新特性,但是整个view系统底层很多东

iOS开发——UI篇OC篇&amp;UIView/UIWindow/UIScreen/CALayer

UIView/UIWindow/UIScreen/CALayer 1.UIScreen可以获取设备屏幕的大小. 1 2 3 4 5 6 7 // 整个屏幕的大小 {{0, 0}, {320, 480}} CGRect bounds = [UIScreen mainScreen].bounds; NSLog(@"UIScreen bounds: %@", NSStringFromCGRect(bounds)); // 应用程序窗口大小 {{0, 20}, {320, 460}} CGRe

UIView CALayer 的区别

UIView与CALayer的区别,很详细 研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的.今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘记记笔记是多么可怕的事情.鉴于Core Animatio

另类的视角看“UIView”和“CALayer”——灵之于魄,男人之于肾的关系

清晨接连翻阅了几篇关于UIView和CALayer的博文,要么是上来一排排的代码(破坏了优雅的气氛),要么是题不达意(喂,what are you ‘写啥’ 嘞),看的我是雨里雾里,当然也有大牛辛辛苦苦的写的优秀文章,只是最近小编也正在学习“核心动画”,因为核心动画操作的对象不是UIView,而是CALayer,而对于二者那剪不断理还乱的关系 小编索性自己通过这篇博文整理了些粗浅的想法. -=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Commons Configuration之二基本特性和AbstractConfiguration

Configuration接口定义一大堆方法.一切从头开始实现这些方法非常困难.因为AbstractConfiguration类存在.该类在Commons Configuration中充当大多数Configuration实现的共同基类并提供了接口需要的大量功能.因此创建一个自定义Configuration实现该类将是一个很好的起点.除了基本实现声明在Configuration接口中的方法之外,AbstractConfiguration类提供一些其它的便利特性.因为该类是在Commons Conf

【好程序员笔记分享】——UIView与CALayer详解

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ UIView与CALayer详解 研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假 设读的人了解界面动画技术的原理的.今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登 陆了,没办法又到网上查

UIView与CALayer的区别,很详细

研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的.今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘记记笔记是多么可怕的事情.鉴于Core Animation的内容实在是非常繁杂,应用的Obj-C语言