Iphone 如何获得CALayer内点的绝对位置

Iphone 如何获得CALayer内点的绝对位置,iphone,objective-c,calayer,quartz-graphics,Iphone,Objective C,Calayer,Quartz Graphics,如何获得CALayer内CGPoint的绝对位置。我需要这个精确的像素绘图 编辑:绝对到屏幕反复点击测试超层,直到到达根层: CGPoint originalPoint = // wherever from you obtain your original point CALayer *layer = self; CGPoint point = originalPoint; while (layer.superlayer) { point = [layer convertPoint:po

如何获得CALayer内CGPoint的绝对位置。我需要这个精确的像素绘图


编辑:绝对到屏幕

反复点击测试超层,直到到达根层:

CGPoint originalPoint = // wherever from you obtain your original point
CALayer *layer = self;
CGPoint point = originalPoint;
while (layer.superlayer)
{
    point = [layer convertPoint:point toLayer:layer.superlayer];
    layer = layer.superlayer;
}

// here `point' will contain the exact position

递归点击测试超层,直到到达根层:

CGPoint originalPoint = // wherever from you obtain your original point
CALayer *layer = self;
CGPoint point = originalPoint;
while (layer.superlayer)
{
    point = [layer convertPoint:point toLayer:layer.superlayer];
    layer = layer.superlayer;
}

// here `point' will contain the exact position

你说的“绝对”是什么意思?。。相对于最顶层,同一层的像素数,…你们所说的“绝对”是什么意思?。。相对于最顶层,同一层中的像素数,…出于好奇,我假设该层连接到一个视图(否则无法获得绝对定位)…那么为什么不这样做而不是循环:`[layer convertPoint:point-toLayer:view.window.layer];'?同样好的解决方案。但是,是的,它假设一个层有一个关联的视图。出于好奇,我会假设该层连接到一个视图(否则您无法获得绝对定位)…那么为什么不使用这个来代替循环:`[layer convertPoint:point-toLayer:view.window.layer];'?同样好的解决方案。但是,是的,它假定图层具有关联视图。