CAShapeLayer croping图像

问题描述:

我试图裁剪用CAShapeLayer图像与此代码CAShapeLayer croping图像

CALayer* contentLayer = [CALayer layer]; 
    CAShapeLayer* mask = [CAShapeLayer layer]; 

    CGMutablePathRef path = CGPathCreateMutable(); 

    CGPathMoveToPoint(path, NULL, 10, 10); 
    CGPathAddLineToPoint(path, NULL, 10, 80); 
    CGPathAddLineToPoint(path, NULL, 80, 80); 
    CGPathAddLineToPoint(path, NULL, 80, 10); 
    mask.path = path; 

    [contentLayer setContents:(id)[[UIImage imageNamed:@"image.png"] CGImage]]; 
    [contentLayer setMask:mask];   

    [[self layer]addSublayer:contentLayer]; 

执行这个我能看到的只是空的观点后,

您从未设置您的contentLayerframe,因此它默认为CGRectZero,这会使其内容不可见。将框架设置为具有图像的大小,您应该看到它。