我有一个复杂的 CALayers 结构,形成了一个可由用户操作的运动图形系统。它作为 UI 的一部分显示在主窗口中。我正在寻找一种好方法,在第二个显示器上将 CALayer 堆栈的多个小部分显示为“视口(viewport)”,其分辨率可能比主视图更高。我知道我可以渲染它们并重新绘制它们,但希望保持 CALayers 的分辨率独立性。
我的思考过程是将主 CALayer 添加到多个 super 图层,然后使用 mask 和变换的组合来让视口(viewport)显示所需的部分。不幸的是,一个 CALayer 只能有一个 super 层。
有什么好的方法可以实现这一点吗?提前致谢。
最佳答案
不幸的是,我认为您需要维护多个 CALayer 堆栈,每个 View 一个。由于所有层集都应该只反射(reflect)单个模型的状态,因此保持它们同步应该相对简单。
您可以优化缩放 View ,使其仅显示实际可见的管理层,这将减少资源使用。
关于cocoa - 多个核心动画视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400590/