属性
- contents
该属性可通常指定一个CGImage,代表图层要显示的图片。
layer.contents = (_bridge id)image.CGImage;
-
contentGravity
该属性的作用相当于UIView中contentMode。表示图层对内容的操作怎么对齐 -
contentScale
定义了图层的像素尺寸和视图大小的比例。默认是1.0的浮点数 -
maskToBounds
切除超出边界的内容 -
contentsRect
允许我们在图层边框里显示寄宿图的一个子域。 有时候需要显示一张图片的一部分区域。{0,0,1,1}代表全部区域 -
contentsCenter
属性是一个Rect,定义了一个固定的边框和一个在图层上可以拉伸的区域
关于布局
frame 代表了图层外部坐标 也就是占据父图层的空间
bounds内部坐标
position代表了父图层anchorPoint所在的位置。
anchorPoint锚点
通过position来控制frame的位置,是用来变换图层的基准点。
默认anchorPoint是图层的中点
position和anchorPoint添加一个红色图层到绿色图层上,红色图层显示到什么位置,由position属性决定假设红色图层的position是(100,100)到底把红色图层的哪个点移动到(100,100)的坐标位置,锚点。红色图层的锚点是(0,0)
image
红色图层的锚点是(0.5,0.5)
image
红色图层的锚点是(1,1)
image
红色图层的锚点是(0.5,0)
image
专用图层
-
CAShapeLayer 通过矢量图形绘制的图层子类,指定线宽、颜色等属性,用CGPath来定义想要绘制图形,渲染出来。
-
CATextLayer
以图层的形式包含了UILabel几乎所有的绘制特性,并且额外提供了一些新的特性。
CATextLayer *textLayer= [CATextLayer layer];
textLayer.frame = self.view.bounds;
[self.view.layer addSublayer:textLayer];
textLayer.foregroundColor = [UIColor blackColor].CGColor;
textLayer.alignmentMode = kCAAlignmentJustified;
textLayer.wrapped = YES;
UIFont *font = [UIFont systemFontOfSize:15];
CFStringRef fontName = (__bridge CFStringRef)font.fontName;
CGFontRef fontRef = CGFontCreateWithFontName(fontName);
textLayer.font = fontRef;
textLayer.fontSize = font.pointSize;
CGFontRelease(fontRef);
NSString *text = @"Hello World";
textLayer.string = text;
textLayer.contentsScale = [UIScreen mainScreen].scale;
- CAGradientLayer
用来生成两种或更多颜色平滑渐变的。
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.view.bounds;
[self.view.layer addSublayer:gradientLayer];
gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor,\
(__bridge id)[UIColor greenColor].CGColor];
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(1, 1);
网友评论