gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 20:11:00 24 4
gpt4 key购买 nike

我有一个用于显示 PDF 页面的 CATiledLayer(此 CATiledLayer 是我的 UIView 的图层类型,它是 UIScrollView 的 subview )。我想在此页面上添加覆盖标记。因此,我将一个子层添加到我的 CATiledLayer 中。该子层再次托管不同标记的层并充当分组层。

从图形上看,我有:(请记住,我有多个标记,它们也是 CALayers,这毕竟是 ascii 艺术)

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

我已经在我的 View 中设置了规范的drawLayer:inContext:来绘制pdf。

当我缩放以获得更多细节时,pdf 会正确渲染,但标记会缩放。无论我对 CALayer 的边界做什么,我的标记总是会变得更大并且呈现锯齿状。

我希望标记始终具有相同的大小,就像它们在绘制 View 时初始化和首次显示时一样。这可能吗 ?或者我使用了错误的方法?我应该在 drawLAyer:inContext: 消息中为我包含的 CALayer 进行特殊绘制吗?

如您所见,我缺少一些东西来解决我的问题。感谢您提供的任何帮助。

最佳答案

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

关于iphone - 如何防止 CALayer(CATiledLayer 的子层)在缩放后更改其比例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com