4.3 阴影
- masksToBounds属性会沿着边界裁剪图形,但是会连边界外的阴影一起裁剪了,所以如果想既剪裁内容又保留阴影的话,只需要在最外层加个视图(专门用来设置阴影的参数),第二层再负责剪裁内容(调用masksToBounds)
- 阴影要根据视图内容来绘制,非常消耗资源,所以可以用shadowPath属性直接设置阴影路径来绘制
4.4 图层蒙板
CALayer有一个属性叫做mask(这个属性的类型就是图层),专门用来拼合自定义图片。mask图层的Color属性是无关紧要的,真正重要的是图层的轮廓。

说明:取二者的重合部分,这部分的内容就是原图层,其实有点像自定义图片剪裁
- (void)viewDidLoad
{
[super viewDidLoad];
//create mask layer
CALayer *maskLayer = [CALayer layer];
maskLayer.frame = self.imageView.bounds;
UIImage *maskImage = [UIImage imageNamed:@"Cone.png"];
maskLayer.contents = (__bridge id)maskImage.CGImage;
//apply mask to image layer
self.imageView.layer.mask = maskLayer;
}
网友评论