2012-02-02 73 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