Подключите выход контроллера окна к окну - PullRequest
6 голосов
/ 01 февраля 2012

Я пытаюсь создать простой модальный диалог в XCode 4. Я создал xib, создал производный класс NSWindowController и сделал его классом в File's Owner xib. Часть, с которой у меня возникают проблемы, - это физическое подключение оконной розетки, как указано в ответах на вопросы:

Как передать фокус на NSWindow, загруженное из NIB?

Почему я должен вызывать showWindow на моем NSWindowController дважды на 10,5?

и в документации Apple здесь:

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

Я понимаю концепцию, но не могу понять, как на самом деле сделать это в XCode 4! Я знаю, как подключить элемент управления в XIB к розетке или действия в классе с помощью CTRL-перетаскивания. Я просто не знаю, что в этом случае перетаскивать.

Любая помощь приветствуется.

1 Ответ

12 голосов
/ 01 февраля 2012

ОК - я понял.

окно розетка: в док-станции IB выберите объект «Владелец файла».Перетащите управление оттуда к окну в файле XIB.Это создаст новый выход.

делегат розетка: Чтобы подключить делегат розетки к владельцу файла, выберите окно в док-станции IB.В инспекторе соединений в разделе «Розетки» перетащите элемент управления «делегат» к «Владельцу файла». Это соединение также можно установить, выбрав «Владелец файла», просто перетащите элемент управления «Ссылка на розетки» в окно и выберите «делегировать» во всплывающем окне..

Редактировать: Лучший способ получить этот эффект, выход «Владелец делегата в файл» в окне «Окно» и выход «Окно в окно» в «Владельце файла», - это сначала создать класс, производный от NSWindowController, и позволить XCode создатьXIB в процессе.Оба выхода будут созданы автоматически.

Если xib был создан первым и вы хотите подключить его к классу, производному от NSWindowController, то выходы можно создать с помощью ctrl-drag в IB:

  • Чтобы создать окно вывода окна в окне «Владелец файла», выберите «Владелец файла» и перетащите его из окна «Владелец файла», удерживая клавишу «Ctrl», а затем во всплывающем окне выберите «окно».
  • Для создания делегата-To-File's Owner в окне Window, выберите Window и
    • перетащите Ctrl из окна в окно Owner File, затем выберите «Delegate» во всплывающем окне.
    • или затемвыберите «Инспектор подключений» и перетащите его от делегата к владельцу файла, удерживая нажатой клавишу «Ctrl».

Эти шаги также можно «инвертировать» с помощью нового источника ссылок ....

...