objective-c - 在 NSWindowController 的窗口出现在屏幕上之前对其进行配置

标签 objective-c macos cocoa nswindow nswindowcontroller

我使用的是 NSWindowController ,我不想在显示实际窗口之前在窗口上设置一些属性(特别是 styleMask 属性)。然而,NSWindowController 上的 window 属性只有在窗口已经出现在屏幕上时才可用。

我可以在 NSWindowController 上使用 initWithWindow: 但随后我无法再使用 nib 文件来存储窗口的内容(因为这使用 initWithWindowNibName:.

那么如何在显示之前配置 View ,类似于 NSView 上的 viewWillAppear

最佳答案

在 Interface Builder 中,取消选中“启动时可见”属性。这样做时,当窗口 Controller 加载相应的 nib 文件时,窗口不会显示,因此您可以在 -[NSWindowController windowDidLoad] 中配置窗口,然后使用 - 手动显示它[NSWindowController showWindow:].

请注意,Cocoa 中没有 -viewWillAppear 方法。

关于objective-c - 在 NSWindowController 的窗口出现在屏幕上之前对其进行配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132585/

相关文章:

objective-c - 自身窗口为空,但窗口导出已正确链接

swift - NSScanner 扫描Double UnsafeMutablePointer

iphone - 如何在 iPhone 的 TableCell 中获取 TextField 的位置?

javascript - Node 和错误 : EMFILE, 打开的文件太多

objective-c - OS X 中的 NSDataWritingFileProtectionComplete

swift - 如何获取 "item"或已编辑的 NSOutlineView 文本字段单元格的行索引?

mysql - 在 MySQL 中设置大型数据库以在 R 中进行分析

ios - 将值从一个ViewController传递给Objective-C中的另一个

objective-c - 免费桥梁

objective-c - iOS - 手势和 uislider