iOS-自定义CALayer

一种是自定义Layer继承CALayer重写 - (void)drawInContext:(CGContextRef)ctx方法

- (CGRect)imageRectForContentRect:(CGRect)contentRect

{

    CGFloat imageW = 40;

    CGFloat imageH = 47;

    CGFloat imageX = (contentRect.size.width - imageW) * 0.5;

    CGFloat imageY = 20;

    return CGRectMake(imageX, imageY, imageW, imageH);

}

特别注意:当重写这个方法时,需要调用layer的setNeedsDisplay.

一种是在试图控制器中用layer的delegate

重写代理方法

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx{

}

你可能感兴趣的:(iOS-自定义CALayer)