自定义calayer

Posted on 2016-07-06 23:14  柠檬片  阅读(91)  评论(0)    收藏  举报
1    CALayer *layer = [CALayer layer];
2     layer.frame = CGRectMake(50, 50, 100, 100);
3     layer.backgroundColor = [UIColor redColor].CGColor;
4     
5     [self.view.layer addSublayer:layer];
6 
7     
8     layer.contents = (id)[UIImage imageNamed:@"阿狸头像"].CGImage;
自定义calayer
 1 1.说明
 2         以前图层都是系统帮我们的创建的,其实我们可以自己新建一个图层
 3     2.新建图层
 4         图层是CALayer类型,它是属于CoreAnimation框架
 5         CALayer,就相当于我们控件里面的UIView
 6         CALayer是所有图层的父层,它里面还有很多子层.像UIView一样, 也有很多图层继承CALayer
 7         
 8         它像UIView一样, 想要让它显示,必须要设置它的Frame,颜色,并把它添加到一个图层上面.
 9          CALayer *layer = [CALayer layer];
10          layer.frame = CGRectMake(50, 50, 100, 100);
11          layer.backgroundColor = [UIColor redColor].CGColor;
12          [self.view.layer addSublayer:layer];
13  
14     3.在Layer上面显示图片
15         显示图片是显示在Layer的内容层上面
16         layer.contents = [UIImage imageNamed:@"阿狸头像"];
17         运行发现在没有图片显示?为什么
18         进入头文件发现, 它要传一个CGImageRef类型
19         我在后面敲.CGImage,,不过有没有发现,又报错了.
20         为什么?进入头文件,看是不是要求我们传入的是一个id类型,这是不是又给它一个CGImage,
21         这个时候,可以给它强转一下, 弄一个假像,告诉编译器, 这个是一个id  这个强转是给编译器看的.
22         再运行,发现就可以了.
23  
24     4.介绍PPT,为什么要用CGColor,什么时候用CALayer,什么时候用UIView
25         
说明