代码之家  ›  专栏  ›  技术社区  ›  Bret

每个calayer都有自己的cgcontextref吗?

  •  0
  • Bret  · 技术社区  · 15 年前

    我正试图找出在包含非矩形路径的Calayer上进行命中检测的最佳方法。我知道 CGContextPathContainsPoint 函数,但我不确定如何获取对 CGContextRef 当我需要进行命中检测时(比如鼠标按下)。是否可以安全地保留对 CGTraceTrimf 传递给 (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 用于命中检测的委托方法?我不确定是否相同 CGTraceTrimf 可能被其他层修改。

    2 回复  |  直到 12 年前
        1
  •  3
  •   Peter Hosey    15 年前

    让这个层拥有一个cgpath并对其进行命中测试。那么你就不必担心保留上下文是否安全,也不必每次都重新绘制路径。

        2
  •  1
  •   Omkar    12 年前

    使用 CAShapeLayer 相反 CALayer ,如果要处理在层上绘制形状。 现金支付者 包含cgpath,因此不需要在 小精灵 .