我需要创建一个自定义窗口,因此我创建了 NSWindow 的子类。我重写了构造函数和许多其他函数。
我需要用我创建的窗口子类替换当前窗口。我知道它与 Interface Builder 有关,但不知道该怎么做。我该怎么做?
我尝试从检查器中删除 NSWindow,并添加我的自定义窗口,但这只会导致在运行时不显示任何窗口。
我还编辑了应用程序的委托(delegate),将 NSWindow 更改为我的自定义窗口,并将委托(delegate)的“主”导出更改为我的自定义窗口。
我在 Mac OSX Snowleopard 上使用 Xcode 3.2.6
最佳答案
首先,您需要确保 Interface Builder 了解您的自定义类。为此,请打开您的 xib 文件并转到“文件->读取类文件...”,然后选择您的头文件。
然后,选择要更改的窗口并打开检查器。在检查器的最后一个选项卡中的“类标识”下,有一个标记为“类”的文本字段,只需在此处输入类的名称即可。
执行此操作后,您的自定义类将用作该窗口的类。它看起来像 IB 中的普通窗口,但允许您使用自定义 socket 和操作,并在您实际运行项目时使用您的类。
关于objective-c - 如何覆盖 NSWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119148/