我在UIScrollView中有一个CATiledLayer,一切正常。现在我想添加支持以显示三个缩放级别的不同图块。
我已将levelsOfDetail设置为3,我的磁贴大小为300 x 300.这意味着我需要提供三组磁贴(我提供PNG)以覆盖:300 x 300,600 x 600和1200 x 1200。
我的问题是内部“(void)drawLayer:(CALayer *)图层inContext:(CGContextRef)ctx”我无法确定当前正在绘制哪个levelOfDetail。我可以通过使用CGContextGetClipBoundingBox来检索当前所需的边界,并且通常这会为上述尺寸之一请求一个rect,但是在图层边缘处,图块通常较小,因此这不是一个好方法。
基本上,如果我将levelsOfDetail设置为3,我怎么知道drawLayer在被调用时是否正在请求级别1,2或3?
谢谢,
罗素。
答案 0 :(得分:2)
我最终解决了这个问题。
从图形上下文获取CTM并查看其比例(例如a元素)。
CGAffineTransform transform = CGContextGetCTM (ctx);
transform.a holds the zoom