如何在全屏切换时更新 NSWindow 的内容?

How to update an NSWindow's content while it is toggling fullscreen?

提问人:lelgetrekt 提问时间:9/19/2023 更新时间:9/19/2023 访问量:16

问:

我有一个 NSWindow 子类和一个自定义 NSView。绘图是使用 Metal 或 OpenGL 完成的,我在 NSView 的方法中这样做。contentViewdrawRect

现在,当使用窗口进入全屏时,会调整窗口大小,并且发生这种情况时,内容仍以左下角的旧较小尺寸显示。只有在窗口完成动画制作后,它才会重新绘制到整个窗口,这看起来很丑陋。我尝试在方法中进行更新,但没有效果。如何在窗口进入全屏模式时更新内容(或者只是告诉它与窗口一起缩放)?[window toggleFullscreen]windowDidResize

另外,我注意到,当我使用窗口标题栏中的绿色按钮进入全屏时,一切看起来都符合预期。所以这一定是在做其他事情,但这是我能找到的唯一 API。toggleFullscreen

Cocoa 全屏 NSView AppKit NSVig

评论


答: 暂无答案