设置静态窗口标题,位于变量Title之前

时间:2011-02-22 16:03:10

标签: cocoa nswindow

我为令人困惑的帖子标题道歉。这就是我的意思:

假设我有一个显示窗口标题文本的操作。这是一个非基于doc的应用程序。

[window setTitle:@"Completed"];

我想为此返回的字符串添加静态标题。像“状态”这样的东西。因此,当触发操作时,窗口标题显示为:

状态:已完成,或状态:未完成等

因此“状态”始终位于变量字符串之前。变量字符串反映了基于应用程序中的另一个操作而存在的字符串。因此,我无法通过简单的方式实现我正在寻找的结果:

[window setTitle:@"Status:Completed"]; etc, etc.

我该怎么做?

感谢

1 个答案:

答案 0 :(得分:0)

要么子类化NSWindow,要么将类别添加到NSWindow,例如-setStatus:,并使用您想要的前缀调用-setTitle:

如果这一切都不可行,您可以观看NSWindowDidUpdateNotification并在缺少前缀的情况下更新标题。记录此通知是在绘制窗口之前发送的,因此您不应该有任何闪烁。或者,您可以使用绑定来观察-title并执行相同的操作。绑定可能会有更好的性能,因为您只在标题实际更改时调用代码。