UIView于CALayer的主要的关系

本文介绍了iOS中UIView与CALayer之间的关系,解释了UIView如何基于CALayer进行封装以提供更高级的功能,如圆角和边框设置,并探讨了CocoaTouch框架的设计原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们应该都知道每个UIView都包含了一个CALayer。比如给一个View切个圆角:
view.layer.cornerRadius = 5.0f;
//加个边框
view.layer.borderWidth = 1.0f;
view.layer.borderColor = [UIColor redColor].CGColor;

CALayer是QuartzCore库内的类,是iOS上最基本的绘制单元;而UIView只是CALayer之上的封装,更准确的说,UIView是CALayer的简版封装,加上事件处理的集合类。


UIView的渲染实质就是这个layer的渲染。UIView其实是把常用的接口(属性和方法)暴露出来了,让UIView更为易用。
其次,我们知道iOS平台的Cocoa Touch是源于OS X平台的Cocoa,是在Cocoa的基础上添加了适用于移动手机设备的手势识别、动画等特性;但从底层实现上来说,Cocoa Touch与Cocoa共用一套底层的库,其中就包括了QuartzCore.framework;但QuartzCore.framework一开始就算为OS X设计的,所以其中有部分特性不适合做移动设备开发的。因此,我们也不难理解为何UIView/NSView在CALayer上做了一层封装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值