2012-02-02 78 views
1

我需要创建一个自定义窗口,所以我创建了NSWindow的一个子类。我超越了构造函数和其他一些函数。如何覆盖NSWindow?

我需要用我创建的窗口子类替换当前窗口。我知道它与Interface Builder有关,但不知道该怎么做。我将如何做到这一点?

我试着从Inspector中删除NSWindow,而是添加了我的自定义窗口,但是这只会导致在运行时不显示窗口。

我还编辑了应用程序的委托,将NSWindow更改为我的自定义窗口,并将委托的“主”出口更改为我的自定义窗口。

我在Mac OSX雪豹使用的Xcode 3.2.6

+3

这是2012年。而你正在使用Xcode 3 ?! – 2012-02-02 21:11:10

+0

是的,我需要Lion for Xcode 4(或者我可以支付)。由于我不想付费,所以我讨厌狮子,我猜Xcode 3是我唯一的选择;) – fdh 2012-02-02 21:12:36

+0

我的解决方案是用于Xcode 4.恐怕你不会得到任何详细的答案Xcode 3 ...:P (虽然它应该是相似的) – 2012-02-02 21:14:13

回答

2

首先,您需要确保Interface Builder知道您的自定义类。要做到这一点,打开你的xib文件并转到“文件 - >读取类文件...”,并选择你的头文件。

enter image description here

然后,选择要更改,并打开检查窗口。在检查员的最后一个标签中,在“班级标识”下,有一个标有“班级”的文本字段,只需在此输入班级名称即可。

enter image description here

完成这一步之后,您的自定义类将被用作类该窗口。它看起来像是IB中的一个普通窗口,但可让您使用自定义插口和操作,并在您实际运行项目时使用您的课程。

+0

我试过了,现在没有窗口出现了。任何想法为什么? – fdh 2012-02-02 21:45:00

+1

如果您没有以编程方式显示它,请确保选中“属性(第一个)”选项卡中的“Visible at Launch”选项。否则,您的子类可能会出现问题,导致它无法显示。 – ughoavgfhw 2012-02-02 21:53:08

+0

谢谢,我猜这是我的子类的问题。我知道这与问题无关,但是您能否提出一种方法,我可以找出一个窗口不启动的原因? – fdh 2012-02-02 22:06:56

0
  1. 当选择你的窗口
  2. 下的“自定义类”
  3. 输入您的自定义类的名字去公用事业节的第三个选项卡
+0

公用事业在哪里?它在检查员吗? – fdh 2012-02-02 21:15:13