2013-04-23 61 views
3

在我的应用程序中,我希望能够在播放视频顶部绘制矩形。我已经实现了NSView的绘图画布,并且我也实现了一个播放器。如何在Cocoa的AVPlayer视频上绘制一些东西?

但是,当我将我的绘画画布放在我的播放器视图顶部时,播放器视图仍然显示在顶部

我在想我的绘画画布不在玩家视图之上,但它是。当我改变窗口的大小时,我可以看到窗口上未被视频覆盖的区域。然而,神奇的是,我的绘画并没有出现在播放视频之上。

我真的不知道在哪里可以找到问题。

任何帮助,高度赞赏!

回答

1

有iOS版的解决方案,如回答here,它在OS X太工作(我在OS X 10.10.2测试)。

基本上,设置要上顶视图的zPosition

topView.layer.zPosition = 1; 
3

我也有一个问题,其中一个NSView,我添加到一个superView是层支持和最后一个NSView不是,总是层支持NSView将在上面,所以我建议你启用层对于任何可能位于AVPlayer之上的NSView, [yourCanvasView setWantsLayer:YES];

... 我认为这将做的工作,

+0

,是不是......这些东西是否设置正确 – 2013-04-23 20:13:56

+0

问题@EugeneGordin这个答案很可能是正确的。至少它有帮助。除了'setWantsLayer:YES'之外,我不知道另一种在视图中显示视频的方法,并且它使得该图层成为顶层,因为我知道它是正确的。我们必须对按钮设置相同的内容才能在视频图层上看到它们。我会尽力找到另一种方式,这种方式很有效,但看起来并不合适。 – 2014-07-10 00:15:04

+0

我有同样的问题(在我的情况下,我想把一个NSButton放在我的AVPlayerView上),并且在任何一个或两个视图上设置wantsLayer都没有任何区别。任何其他想法? – 2015-01-29 20:51:06

相关问题