2011-09-30 55 views
0

也許我在這裏錯過了一些非常簡單的東西(我希望如此),但是在運行時更改NSPanel的標題還有竅門嗎?顯而易見的[面板setTitle:@「新標題」]似乎沒有工作。如何在運行時更改NSPanel的標題?

我試圖顯示一個常規面板,其中包含一個WebView,我想面板的標題來反映HTML內容的標題。

我劃分NSWindowController並調用initWithWindowNibName。我將筆尖中的班級從NSWindow更改爲NSPanel,並且一切似乎都正常。在我的窗口控制,我這樣做:

- (void)windowDidLoad { 
    [super windowDidLoad]; 
    [[self window] setTitle:@"My New Title"]; 
} 

(我實際上將設置在網頁視圖標題:didReceiveTitle:forFrame委託,但這是簡單的顯示)。

我確認代碼已被調用,並且沒有錯誤報告,但標題從未改變。有任何想法嗎?

回答

4

在包含面板的nib文件中,確保文件所有者的類已被設置爲您的NSWindowController子類,並且文件所有者的出口已連接到面板。否則,窗口控制器將不知道它應該管理哪個窗口,並且[self window]返回nil

0

你正在設置標題,但是你沒有告訴窗口再次顯示自己。

+2

有沒有必要做任何這樣的事情。只需發送一個'setTitle:'消息窗口就足以改變它的標題。我使用NSWindow和NSPanel對此進行了測試。 –