设置寄宿图
Contents
-
contentsid 类型 -> 可以赋予任何类型,但只有CGImage类型才会有内容;
-
contentGravity 类同于 UIImageView的ContentMode;
- contentGravity 是一个NSString类型的,并不是枚举;
-
maskToBounds 类同于UIView的clipsToBounds, 将超出边界部分给裁减掉
-
contentsRect 允许我们在图层边框里显示寄宿图的一个子域。这涉及到图片是如何显示和拉伸的
- 使用单位左边,0-1之间,一个相对值;
- 简单说,{0,0,1,1}是指从左上角开始contents的大小,前两个数值控制左上角的坐标, width:1 表示整个contents的width*1,height:1同理;
- 当确定好 contentsRect,系统会将这部分内容裁减出来并且拉伸填满layer;
- contentsCenter 一个CGRect,它定义了一个固定的边框和一个在图层上可拉伸的区域。
- 默认情况下,contentsCenter是{0, 0, 1, 1}, 这表明 内容全部区域可均匀拉伸;
- 具体改变数值和contentsRect类似;
Custom Drawing
- drawRect: 可以直接用Core Graphics直接绘制寄宿图, 是UIView的方法,但是底层由CALayer实现的
* 没有默认实现, 系统只有在检测到这个方法被调用,才会生成寄宿图
* 对CPU个内存有大的消耗
* 先调用 *displayLayer:* ,然后系统尝试调用 *drawLayer: inContext:*
网友评论