2009-12-28 547 views
0

我有以下代碼:使用NSWindowController操作窗口

AXWindowController *controller = [[AXWindowController alloc] 
initWithWindowNibName:@"ActivateWindow"]; 
[controller showWindow:nil]; 

如何使用控制器來更改窗口ActivateWindow(如窗口更改文本,等等。)?一步一步的指示,將不勝感激。謝謝!

回答

2

那麼,在你的代碼片段中沒有處理實際的窗口元素,你的代碼只是初始化並顯示窗口。 (我剛剛通過了快速掃描,所以我假設它可行)

例如,如果您想要在窗口中顯示文本,最簡單的方法是使用NSTextField

非常簡單的指令:

  1. 拖放從Interface Builder的庫中的標籤項到窗口。
  2. 將界面生成器庫中的按鈕項拖放到窗口中。
  3. 在XCode中,在您的窗口控制器中爲您的標籤創建一個IBOutlet,例如, messageLabel
  4. 在XCode中,在您的窗口控制器中,爲您的標籤創建一個IBAction,例如, changeLabel
  5. 在Interface Builder中,將「對象」拖放到文檔中。 (快捷方式= CMD + 0)
  6. 在標識選項卡下,將類更改爲AXWindowController。 (快捷鍵= CMD + 6)
  7. 按住Ctrl鍵並從對象拖到標籤上,選擇插座messageLabel。
  8. 按住Ctrl並從按鈕拖到對象上,選擇changeLabel。

現在,要按下按鈕時顯示文本,您需要將代碼添加到changeLabel IBAction中以執行此操作。 例如[messageLabel setTitleWithMnemonic:@"blah"];

最後,如果您希望它自動顯示文本,您可能只需更改Interface Builder中的標籤內容/將代碼放在控制器中的windowDidLoad方法中。

對我來說,這幾乎是最簡單的方法來做到這一點。不過,我建議您在深入研究更難的東西之前,先閱讀Cocoa和Objective-C的一些書籍/教程。

0

當然,您可以通過編程在窗口控制器的代碼中對窗口進行更改。打開AXWindowController.m並做任何你想做的事情。如果不知道你想要做什麼(如果你只是想創建接口,使用Interface Builder)或者你的經驗級別是什麼,那麼很難給出更確定的答案。

相關問題