12.22笔记(关于CALayer//Attributes//CALayer绘制图层//CALayer代理绘图//CALayer动画属性//CALayer自定义子图层//绘图pdf文件//绘图渐变效果...

本文介绍iOS开发中自定义视图与图层的方法,包括渐变效果实现、PDF文件创建及CALayer属性应用等。通过实例展示如何重写drawRect与drawInContext方法以实现特定显示效果。

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

12.22笔记

pdf下载文件:https://www.evernote.com/shard/s227/sh/f81ba498-41aa-443b-81c1-9b569fcc34c5/f033b89a4394b20921fcb8489066acbc



笔记的文本摘要如下所示:

注意:以下仅仅是文本摘要,没有贴图,出现右边的图标()表示笔记中此处有图片,完整笔记请前往pdf链接中观看或下载观看.

1.渐变效果例子

首先:自定义一个渐变视图,在自定义视图中重写drawRect

获取上下文

实例化色彩空间

描述渐变

渲染上下文(绘制渐变)

释放对象

 

2.PDF例子

1.创建PDF文件

2.画内容

3.关闭上下文

 

术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong


3.CALayer基本属性列子

4.自定义图层例子

5.Calayer的隐藏属性

绘制图层(重点看)

1.在自定义图层中需要实现下面这个方法,绘制图层

- (void)drawInContext:(CGContextRef)ctx;

注意:在上下文中绘制的图像都是反的,我们需要自己转换y轴坐标系,并且移动到最初的位置。

最终变成这样,坐标系就转换成功了,图片也正了,只需要将坐标系整体往下移动就好了。

在自定义视图中,同时实现了这两个方法的调用原理

(void)drawRect:(CGRect)rect

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx

 

1.自定义图层需要自己设置代理

2.系统自带的控件,控件图层的代理就是控件本身。会自动调用图层的代理方法。

3.如果重写了图层的代理方法,就会取消掉系统默认调用的方法。比如在自定义控件中,重写了

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;

在这个方法中如果不调用[super drawLayer:layer inContext:ctx] 会导致系统不会调用- (void)drawRect:(CGRect)rect方法

 

4.系统绘制图层方法,默认执行的顺序是:先执行- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;

 在执行- (void)drawRect:(CGRect)rect

5. NSObject的分类,分类是对方法进行扩展的

6.分类还有一个名称:非正式代理,所谓非正式代理,不需要代理遵守协议,可以直接使用,直接使用时,也可以重写!

 

本文永久链接:http://www.cnblogs.com/ChenYilong/p/3490370.html

转载于:https://www.cnblogs.com/ChenYilong/p/3490370.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值