【发布时间】:2011-11-02 01:52:38
【问题描述】:
我正在尝试找出我们执行此操作时在后台实际发生的情况(请看图片)
正如您在图片中看到的那样,我添加了几个按钮,并从界面构建器中检查了内容视图。
现在我们知道它会使用核心动画或者说会创建图层。 (如果我错了,请纠正我。还在学习中......)
我想知道这些按钮是如何绘制的?
我的假设是当我们勾选 Content View 时,这些按钮是从 CGBitmapContextRef 中绘制的,并且从它创建的位图被移交给 Core Animation (OpenGL)。但到目前为止,我无法证明这一点。我该如何证明? 任何示例或一些方法想法都会很棒?
我确定的是从 CGBitmapContextRef 创建的按钮。但是这些按钮图像会发生什么情况是未知的。
谁能解释这种集成是如何实现的?这些图像是如何出现在屏幕上的?
编辑:
要添加有关同一主题的更多信息,请查看下图以了解 OpenGL 层。我想我的目标是 common OpenGL Framework 层。
【问题讨论】:
-
我们不知道,也不想想知道。 Core Animation 和视图层次结构之间的集成是一个实现细节,如果 Apple 想到更好的方法,它可能随时改变。 :)
-
真的不清楚你在这里问什么。 “这些按钮是怎么画出来的?”真的很模糊。如果你只是想知道这一切在内部是如何运作的,你不会在这里找到,因为那是秘密的苹果酱。
-
是的,我正在寻找一些内部细节。可能还不是全部……但围绕该地区的一些不错的讨论、一些想法、一些线索可以揭示谜团。
-
您的问题标题表明您有兴趣将 Quartz/Cocoa 绘图代码与“本机”OpenGL 绘图代码混合使用。那是你真正感兴趣的吗?如果是这样,这个问题可能已经回答了here(不必知道秘密的 Apple 代码。)
-
这个问题是针对“其他方式”的:http://stackoverflow.com/q/8214884/963550
标签: cocoa macos opengl core-animation core-graphics