0

我有以下代码:

AXWindowController *controller = [[AXWindowController alloc] 
initWithWindowNibName:@"ActivateWindow"];
[controller showWindow:nil];

如何使用控制器对窗口 ActivateWindow 进行更改(例如更改窗口上的文本等)?分步说明将不胜感激。谢谢!

4

2 回答 2

2

好吧,您的代码段中没有处理任何实际的窗口元素,您的代码只是初始化并显示窗口。(我刚刚快速浏览了一下,所以我假设它有效)

例如,如果您想在窗口中显示文本,最简单的方法是使用NSTextField.

非常简单的说明:

  1. 将一个标签项从 Interface Builder 库拖放到您的窗口中。
  2. 将一个按钮项从 Interface Builder 库拖放到您的窗口中。
  3. 在 XCode 中,在您的窗口控制器中,为您的标签创建一个 IBOutlet,例如 messageLabel
  4. 在 XCode 中,在您的窗口控制器中,为您的标签创建一个 IBAction,例如 changeLabel
  5. 在 Interface Builder 中,将“对象”拖放到文档中。(快捷方式 = CMD + 0)
  6. 在 Identity 选项卡下,将类更改为 AXWindowController。(快捷方式 = CMD + 6)
  7. Ctrl+从对象拖到标签,选择出口messageLabel。
  8. Ctrl + 从按钮拖动到对象,选择changeLabel。

现在,要在按下按钮时显示文本,您需要将代码添加到 changeLabel IBAction 来执行此操作。例如[messageLabel setTitleWithMnemonic:@"blah"];

最后,如果您希望它自动显示文本,您不妨在 Interface Builder 中更改标签内容/将代码放在控制器的 windowDidLoad 方法中。

对我来说,这对你来说几乎是最简单的方法。但是,我建议您在深入研究更难的东西之前阅读一些关于 Cocoa 和 Objective-C 的书籍/教程。

于 2009-12-28T09:52:29.097 回答
0

当然,您可以在窗口控制器的代码中以编程方式对窗口进行更改。打开 AXWindowController.m 并做任何你想做的事。如果不确切知道您要做什么(如果您只想创建界面,请使用界面生成器)或您的经验水平,很难给出更明确的答案。

于 2009-12-28T22:27:28.863 回答