- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个名为 ModelView 的类,它继承自 NSOpenGLView。当我的程序运行时,我按如下方式将 ModelView 附加到主窗口。
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
ModelView *glView;
NSRect glViewRect = CGRectMake(0.0f, 0.0f, window.frame.size.width, window.frame.size.height);
glView = [[ModelView alloc] initWithFrame: glViewRect];
[[window contentView] addSubview:glView];
}
在我的 ModelView 类中,我有一个 reshape 函数,每次调整窗口大小时都会触发该函数
- (void)reshape
{
[super setNeedsDisplay:YES];
[[self openGLContext] update];
NSLog(@"reshap function called");
}
我想获取主窗口宽度,以便调整 ModelView 的大小,但我找不到如何从 ModelView 类获取窗口宽度
我是 cocoa/objective-c 的新手,所以非常感谢您的帮助
最佳答案
每个 View 都有一个窗口属性,因此 [self window]
将获取窗口,而 [[[self window] contentView] bounds].size.width
将给出宽度,尽管您可以使用 [[self superview] bounds].size.width
关于objective-c - NSOpenGLView 在窗口调整大小时调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440089/
我正在使用 Cocoa 窗口和 NSOpenGLView 尝试 OpenGL 3.2。但是我无法让 NSOpenGLView 绘制红色。我只得到一个白色的窗口。这是我的代码(在 NSOpenGLVie
我一直在尝试让 NSOpenGLView 在调整窗口大小时正确调整大小,但我不断收到无法解释的奇怪行为。看起来像这样: 原始(一开始的样子): 调整大小后: 这是我的调整大小代码: - (void)r
我已经重写了 NSOpenGLView 来处理键盘事件。事件检测工作正常,但每次我按下一个键时,我都会听到恼人的碰撞声。我怎样才能让我的观点冷静下来? 这是我的 keyUp: 方法的样子: -(voi
我有一个 NSWindow 子类 (GameWindow),其中包含一个 NSOpenGLView 子类 (GameView)。 应用程序是窗口化的(不会全屏显示)。 GameView 中的 Open
我目前正在尝试以编程方式创建一个简单的 cocoa NSWindow,而不是使用界面生成器(我有这样做的理由)。这是一个快速测试: int main(int argc, char** argv)
我需要在现有应用程序中的 NSOpenGLView 之上显示一些 Cocoa 小部件。我按照 Apple 的 LayerBackedOpenGLView 示例代码中的示例进行操作。 NSOpenGLV
我正在尝试使用 Cocoa API 创建一个 OpenGL 应用程序,现在一切正常,除了一件事。当调整主窗口大小时,GL 上下文似乎没有正确更新。 这是用于设置窗口和渲染上下文的代码。 主窗口: m_
我创建了一个带有 NSOpenGLView 的窗口,我正在将 openGL 内容渲染到其中。 我想向 View 添加一些按钮和文本字段:我可以使用界面生成器(或代码)添加 NSTextFields 和
我有一个旧的基于 AGL 的 OpenGL 窗口系统,我正在更新它以使用 NSOpenGLView。使用它的引擎需要在单独的线程中以自己的循环运行,我无法让它工作。使用 AGL,我在循环线程中创建了上
我有一个名为 ModelView 的类,它继承自 NSOpenGLView。当我的程序运行时,我按如下方式将 ModelView 附加到主窗口。 - (void)applicationDidFinis
我正在尝试创建一种在全屏和窗口之间切换的方法。我试图在继承自 NSOpenGLView 的类中执行此操作, 基本上遵循 this blogpost 。从窗口到全屏,这一次有效;尝试返回以各种方式失败:
我想在纹理大小更改时更新我的 NSOpenGLView 窗口。没关系。发生这种情况时我注册了事件,但无法调整 OpenGLView 的大小。正在更改的值是 w 和 h。 -(void)initOp
我有一个 480x320 NSOpenGLView,我想将其放大到 960x640,但像素显示为尺寸的两倍(并且清晰)。 如果我打电话 [myglview setFrame:CGRectMake(0,
我有一个 NSOpenGLView 和 OpenGL 代码,可与在主循环中运行的 NSTimer 一起使用(调用 setNeedsDisplay 和 drawRect)。我想使用 CVDisplayL
我已将 NSOpenGLView 添加到我的 MainMenu.xib 文件中,并实现了 drawRect 来绘制它,这效果很好,所以到目前为止一切顺利。 如何检测屏幕上的触摸?我想我也许可以在 In
这就是我想用我的 NSOpenGLView 做的事情。目前 NSOpenGLView 覆盖了窗口的整个区域,我想在 NSOpenGLView 顶部添加按钮、nsviews 和图像。我浏览了网页,发现
我正在尝试修改 Apple MultiGPUIOSurface 示例(特别是文件 http://developer.apple.com/library/mac/#samplecode/MultiGPU
当我将 NSOpenglView 放入 NSSplitView 时,拖动拆分器时出现问题。openGLView 和 SplitView 正在异步调整大小。我在苹果邮件列表线程中找到了解决方案 http
我有一个在 Mac OS X 上渲染 OpenGL 内容的应用程序。最初它是渲染到 NSOpenGLView,然后我将它更改为渲染到 CAOpenGLLayer 子类。 当我这样做时,我看到了巨大的性
我正在尝试检查我的 NSOpenGLView 是否具有有效的上下文,但似乎对 openGLContext 的调用无法帮助我解决这个问题。 openGLContext 似乎总是返回一个 NsOpenGl
我是一名优秀的程序员,十分优秀!