static void drawPatternImage (void *info, CGContextRef ctx)
{
CGImageRef image = (CGImageRef) info;
CGContextDrawTiledImage(ctx, CGRectMake(0,0, CGImageGetWidth(image)*scaleValue, CGImageGetHeight(image)*scaleValue), image);
}
图像按照我的预期绘制,但是当我更改比例值,然后在我的图层上调用setNeedsDisplay时,不再调用回调方法,并且不更新我的背景。这是解决此问题的最佳方法吗?或者是否有更有效的方法在我的视图中绘制可缩放的可图块化图像。我实现了 - (void)drawLayer:(CALayer *)图层inContext:(CGContextRef)ctx 并从那里调用了CGContextDrawTiledImage,但在缩放视图时,更新非常不稳定。
任何指导都将不胜感激。
由于
答案 0 :(得分:0)
CGPattern需要知道模式的大小,并在调用时将其传递给CGPatternCreate
。只是在回调中绘制不同的大小不会有帮助,所以你必须销毁并重新设置模式,将新大小传递给CGPatternCreate
。