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

如何防止缩放后CALayer(CATiledLayer的子层)更改其比例?

  •  3
  • David  · 技术社区  · 15 年前

    我有一个用于显示PDF页面的CATILDELAYER(该CATILDELAYER是UIView的层类型,UIView是UIScrollView的子视图)。我想在此页上添加覆盖标记。所以我给CATiledLayer添加了一个子层。这个子层再次承载不同标记的层,并充当分组层。

    pdf page (CATiledLayer)
    ----------------------
    |  CALayer           |
    |  +---------+       |
    |  |  +----+ |       |
    |  |  |mker| |       |
    |  |  +----+ |       |
    |  +---------+       |
    |                    |
    ----------------------
    

    我已经设置了规范的拖拉ayer:inContext:在我的视图中,用于绘制pdf。

    我希望标记的大小总是一样的,就像它们在初始化和绘制视图时第一次显示一样。这可能吗?还是我用错了方法?我应该在抽屉里为我的容器做特别的绘图吗yer:inContext:消息?

    正如你所看到的,有些东西我没有解决我的问题。谢谢你的帮助。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Morrowless    15 年前

    标记正在缩放,因为它继承了超层的变换。创建另一个顶层 CALayer 包含不希望缩放的标记和其他对象并将其覆盖在其上的 CATiledLayer .