2009-12-28 45 views
0

我有以下代码:使用NSWindowController操作窗口

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

如何使用控制器来更改窗口ActivateWindow(如窗口更改文本,等等。)?一步一步的指示,将不胜感激。谢谢!

回答

2

那么,在你的代码片段中没有处理实际的窗口元素,你的代码只是初始化并显示窗口。 (我刚刚通过了快速扫描,所以我假设它可行)

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

非常简单的指令:

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

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

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

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

0

当然,您可以通过编程在窗口控制器的代码中对窗口进行更改。打开AXWindowController.m并做任何你想做的事情。如果不知道你想要做什么(如果你只是想创建接口,使用Interface Builder)或者你的经验级别是什么,那么很难给出更确定的答案。