0

我制作了一个视频播放器,图像在 NSView 中绘制。有什么方法可以将 NSView 转换为 CALayer?我尝试使用图层托管视图,但开发人员文档说不能向图层托管视图添加任何子视图。任何人都可以给我一些建议?此代码可以在 OSX 10.6.8 中运行,但在 OSX 10.7 和 10.8 中运行。

mDisplayView = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, width, height)];
mDisplayLayer = [[CALayer layer] retain];

[mDisplayView setLayer:mDisplayAudioLayer];
[mDisplayView setWantsLayer:YES];
[mDisplayView addSubview:mContentView];
[mRootLayer addSublayer:mDisplayAudioLayer];

视频的图像已经画在mContentView上,我只需要想办法把mContentView变成CALayer,可以吗?</p>

4

1 回答 1

2

您不会视图转换为图层 - 您可以通过覆盖传统方式绘制到视图中,drawRect:或者将其切换为支持图层的视图并使用 CoreAnimation。

最好从这里开始了解所涉及的基本概念:

核心动画编程指南

于 2013-04-02T08:04:42.703 回答