Cocoa:如何设置窗口标题?

tob*_*bin 13 cocoa objective-c

我有一个Cocoa应用程序,其中包含使用NSWindowController的子类创建的辅助窗口.我想设置窗口标题.记录的方法调用是setTitle:.我从窗口控制器中调用了这个,如下所示:

- (void)windowDidLoad
{
    // set window title
    [[self window] setTitle:@"test string"]; 
}
Run Code Online (Sandbox Code Playgroud)

但这并不影响窗口的标题.

有什么建议吗?

Jus*_*Boo 18

您可以使用IBOutlet连接您的窗口,然后更改您的代码:

[[self window] setTitle:@"test string"];
Run Code Online (Sandbox Code Playgroud)

对此:

[yourWindow setTitle:@"test string"];
Run Code Online (Sandbox Code Playgroud)

完整代码例如:

.H

IBOutlet NSWindow *yourWindow; //Don't forget to connect window to this
Run Code Online (Sandbox Code Playgroud)

.M

-(void)awakeFromNib {
    [yourWindow setTitle:@"test string"];
}
Run Code Online (Sandbox Code Playgroud)



当然,您可以不以编程方式更改标题:

可以在" 属性"检查器中更改标题:

在此输入图像描述

  • 你不需要这样做.`NSWindowController`已经有一个`window`出口,你只需要连接它. (3认同)

Cha*_*112 5

NSWindowController类引用指示要自定义标题,您应该覆盖该windowTitleForDocumentDisplayName:方法.