以编程方式更改故事板创建的 window 的标题

Programmatically change title of window created by storyboard

在 xcode 6.1 中,如何以编程方式更改故事板创建的 window 的标题?此项目用于 OS X。默认情况下,它是 "Window"。我正在使用 OBJ C.

Swift 中的代码是

override func viewDidAppear() {
    self.view.window?.title = "joe"
}

在 Objective-C 中大约是 self.view.window.title = @"joe";

它必须在 viewDidAppear 因为在 viewDidLoad 太早了。


OT,但要通过 Storyboards 完成,请点击此处:

在 Apple 通用 Objective-C Xcode macOS 模板的 AppDelegate 上下文中,您可以通过以下方式访问主 window 句柄代码行:

[[[NSApplication sharedApplication] mainWindow] setTitle:@"Your Title"];

或者只对共享应用程序实例使用全局常量shorthand:

[[NSApp mainWindow] setTitle:@"Your Title"];

这些示例首先检索应用程序的实例,然后获取它的主实例 window。请注意,如果应用程序的故事板或 NIB 文件尚未完成加载,应用程序处于非活动状态或隐藏状态,则标题可能无法应用。

上面假设你有一个 Main.storyboard 层次结构 Window Controller Scene > Window Controller > Window --使用 non-custom 标识符==Automatic 且未将此 NSWindow.

子类化