6

我正在尝试在 XCode 4 中创建一个简单的模式对话框。我创建了 xib,创建了 NSWindowController 派生类并将其设置为 xib 的文件所有者中的类。我遇到问题的部分是物理连接窗口插座,如问题答案中所述:

如何将焦点放在从 NIB 加载的 NSWindow 上?

为什么我必须在 10.5 上调用我的 NSWindowController 上的 showWindow 两次?

并在此处的 Apple 文档中:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Documents/Concepts/WinControllersAndNibs.html

我理解这个概念,但我无法弄清楚如何在 XCode 4中实际做到这一点!我知道如何通过 CTRL 拖动将 xib 中的控件连接到类中的插座或动作。在这种情况下,我只是不知道要拖动什么。

任何帮助表示赞赏。

4

1 回答 1

13

好的 - 我想通了。

window outlet:在 IB Dock 中,选择 File's Owner 对象。从那里按住 Control 并拖动到 XIB 文件中的窗口。这将创建新的 Outlet。

委托出口:要将委托出口连接到文件所有者,请选择 IB Dock 中的窗口。在连接检查器中,在 Outlets 下,从“delegate”控制拖动到“File's Owner” 此连接也可以在选择 File's Owner 的情况下进行,只需从引用 Outlets 控制拖动到窗口并从弹出窗口中选择“delegate” .

编辑:获得这种效果的最好方法,Window 中的 delegate-to-File's Owner 出口和 File's Owner 中的 window-to-Window 出口,是首先创建 NSWindowController 派生类并让 XCode 在此过程中创建 xib。两个网点都将自动创建。

如果首先创建了 xib,并且您希望将其挂钩到 NSWindowController 派生类,则可以通过 IB 中的 ctrl-drag 创建 outlet:

  • 要在 File's Owner 中创建 window-to-Window 插座,请选择 File's Owner 并从 File's Owner 按住 ctrl-drag 到 Window,然后在弹出窗口中选择“window”。
  • 要在 Window 中创建 delegate-to-File's Owner 出口,请选择 Window 并
    • 按住 Ctrl 键从 Window 拖动到 File's Owner,然后在弹出窗口中选择“delegate”。
    • 或者然后选择 Connections Inspector 并 ctrl-drag 从委托到文件所有者。

这些步骤也可以通过使用新参考插座“反转”......

于 2012-02-01T14:44:01.130 回答