我的设置
- XCode 4.3.2
- MacRuby 0.12 (ruby 1.9.2) [universal-darwin10.0, x86_64]
- 截至 2012 年 6 月 4 日的最新每晚
- 操作系统 10.7.3
目标
在 MainMenu.xib 的单独 XIB 中有一个带有一些控件的窗口,并且能够以编程方式打开该窗口。我不希望它在启动时打开。
尝试
- 我制作了一个新的 xib (Woot.xib) 并在其中创建了一个窗口
我创建了一个新的 Ruby 类
class WootController < NSWindowController attr_accessor :window def windowNibName return 'Woot' end end
- 我试图将 Woot.xib 中的 File's Owner 的类设置为 WootController,但发现它不会在
< NSWindowController
我的类定义中。如果我< NSWindowController
从类定义中删除 ,则会填充出口,并且我可以将 XIB 中的窗口链接到我班级中的窗口出口。 从我的 AppDelegate 的
applicationDidFinishLaunching
方法内部,我尝试过试图
newWind = WootController.new puts newWind #outputs "#<AddCredentialsDialog:0x400191180>" newWind.window().makeKeyAndOrderFront(self) # results in no method error for nil
尝试 2
newWind = WootController.initWithWindowNibName 'AddWindow' puts newWind #outputs "#<AddCredentialsDialog:0x400191180>" newWind.window().makeKeyAndOrderFront(self) # results in no method error for nil
问题
- 为什么我的任何一个尝试都不起作用?我已经准备好在 macruby 和使用 NSWindowController 上可以找到的所有内容。
WootController
如果我继承了我的类,为什么我不能链接它NSWindowController
- 除了将其全部放入 MainMenu.xib 之外,还有其他方法可以做到这一点吗?