也许我在这里遗漏了一些非常简单的东西(我希望如此),但在运行时是否有改变NSPanel标题的技巧?显而易见的[panel setTitle:@“New title”]似乎不起作用。
我正在尝试显示包含WebView的常规面板,我希望面板的标题能够反映HTML内容的标题。
我将NSWindowController子类化并调用了initWithWindowNibName。我将笔尖中的类从NSWindow更改为NSPanel,一切似乎都正常。在我的窗口控制器中,我这样做了:
- (void)windowDidLoad {
[super windowDidLoad];
[[self window] setTitle:@"My New Title"];
}
(我实际上将在webView中设置标题:didReceiveTitle:forFrame委托,但这更容易显示。)
我验证了代码被调用,并且没有报告错误,但标题永远不会改变。有什么想法吗?
答案 0 :(得分:4)
在包含面板的nib文件中,确保已将文件所有者的类设置为NSWindowController子类,并且文件所有者的window
出口已连接到面板。否则,窗口控制器将不知道它应该管理哪个窗口,并且[self window]
返回nil
。
答案 1 :(得分:0)
您正在设置标题,但您没有告诉窗口再次显示自己。