- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这就是我想用我的 NSOpenGLView 做的事情。目前 NSOpenGLView 覆盖了窗口的整个区域,我想在 NSOpenGLView 顶部添加按钮、nsviews 和图像。我浏览了网页,发现 [myOpenGLView setWantsLayer:YES];
允许我做 [myOpenGLView addSubView:someView]
之类的事情。
这是我得到的结果:
(有点糟糕的例子,因为我正在看《恶搞之家》,但证明了视频内存缓冲区在这里被拦截的事实)
正如您所看到的,它正在将一些视频内存缓冲区扭曲到窗口上。现在我正在做一些调试,问题出在 -setWantsLayer
上。一旦我在代码中注释掉该行,所有 OpenGL 内容都会正确显示。
这就是我应该得到的:
所以我的问题是,如何正确显示我的 OpenGL View 并同时显示 -addSubViews
?
Apple 有一个非常好的示例项目,名为“LayerBackedOpenGLView”( http://developer.apple.com/library/mac/#samplecode/LayerBackedOpenGLView/Introduction/Intro.html ),我已经研究它很长时间了,但我不知道我在其中做了什么不同的事情。我注意到的一件事是,Apple 没有使用 NSOpenGLView,而是使用 NSView 并将该类更改为 NSOpenGLView 的子类的自定义类,而我使用 NSOpenGLView 并将该类更改为再次 NSOpenGLView 的子类的自定义类。不确定这是否会导致任何问题,但如果我将其更改为 NSView,我仍然会遇到同样的问题。
最佳答案
我自己也遇到了同样的问题,但是通过阅读示例代码ReadMe解决了它。您需要在 NSOpenGLView 子类中实现 -drawRect: 。如果没有它,则不支持图层支持。
因此,实现 -drawRect 并在那里进行绘图。一件烦人的事情是,您最好将场景与 openglview 分开。这就是他们在示例代码中所做的。
关于cocoa - -setWantsLayer 导致 NSOpenGLView 变形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7133290/
我的项目基于 Xcode 3 中内置的基本 SDK 10.6 - 重要的是它是一个也适用于 PPC 的通用二进制文件。 在 10.9 中,与 Safari 相比,我的应用程序的滚动非常不稳定 - 如果
这就是我想用我的 NSOpenGLView 做的事情。目前 NSOpenGLView 覆盖了窗口的整个区域,我想在 NSOpenGLView 顶部添加按钮、nsviews 和图像。我浏览了网页,发现
我在使用 NSWindow 时遇到了问题,它是内容 View - 具体来说是标题栏和圆底角的外观。我正在观察 10.11 和 10.10 上的问题,一切看起来都很好。但说到点子上。 窗口的标题栏如下所
我有一个简单的自定义 NSView,它有一个标签和一个图像。目前该 View 工作得很好(所有拇指都是我的自定义 View 的实例): 但是,我想设置这些缩略图的不透明度。设置 viewInstanc
简单地说,我有一个带有一堆 subview 的 NSView 。在 awakeFromNib 方法(在 View Controller 内)中,我决定添加以下内容: [_backgroundImage
我是一名优秀的程序员,十分优秀!