CALayer

1. 获取View的CALayer

someView.layer
  1. 设置边框宽度
someView.layer.borderWidth = 20;
  1. 设置边框颜色
someView.layer.borderColor = [UIColor greenColor].CGColor;
  1. 设置圆角
someView.layer.cornerRadius = 20;
  1. 设置内容
someView.layer.contents = (id)[UIImage imageNamed:@"me"].CGImage;

Question: 这样设置完后,发现四个圆角的部分露出一个角。
因为设置的图片不是显示在主图层的,而是显示在子图层上。可以通过设置一个范围,把超出主图层的部分给裁剪掉。


CALayer_第1张图片
截图.png
//裁剪
someView.layer.masksToBounds=YES;
CALayer_第2张图片
截图.png
  1. 设置阴影
    阴影颜色,还应该设置阴影的偏移位和透明度
someView.layer.shadowColor=[UIColor blackColor].CGColor;
someView.layer.shadowOffset=CGSizeMake(15, 5);
someView.layer.shadowOpacity=0.6;
  1. 设置形变
//someView.transform=CGAffineTransformMakeTranslation(0, -100);
someView.layer.transform=CATransform3DMakeTranslation(100, 20, 0);

使用KVC

NSValue *v=[NSValue valueWithCATransform3D:CATransform3DMakeTranslation(100, 20, 0)];
[someView.layer setValue:v forKeyPath:@"transform"];
//
[someView.layer setValue:@(-100) forKeyPath:@"transform.translation.x"];

你可能感兴趣的:(CALayer)