Подключение пунктов меню в приложениях на основе документов - PullRequest
13 голосов
/ 04 февраля 2011

Я уже задавал пару вопросов по этой теме, и на самом деле не получил реального ответа о том, как это сделать (на самом деле он получил "Знак кувалды", смеется).

У меня естьоснованное на документе приложение (имеется в виду, что Menu.Xib отделен от MyDocument.Xib).

Скажем, я хочу добавить кнопку «Жирный шрифт» или кнопку «Проверить орфографию» (элементы, перечисленные в Menu.xib (подФормат> Шрифт и т. Д.) В MyDocument (основной интерфейс). Я не могу понять, как это сделать.

Любая помощь будет принята с благодарностью (я буду вознаграждать ответ немедленно, если он работает, это поставило меня в тупик запару недель).

Я пытался добавить Font Manager в MyDocument.Xib и подключиться таким образом, но кнопка Bold только включает, но не отключает. Плюс, проверка орфографии и т. д. не может быть активированачерез диспетчер шрифтов.

Должен быть лучший способ сделать это.

Документация Apple невероятно расплывчата.

1 Ответ

17 голосов
/ 04 февраля 2011

Это именно то, для чего предназначен объект первого ответчика в IB.Это прокси-объект для подключения действий.Все отправленные ему сообщения о действиях будут передаваться по цепочке респондента первому объекту, который их принимает.Для приложений на основе документов цепочка респондента включает текущий документ.Итак, чтобы подключить пункт меню к вашему документу:

  1. Добавьте действие в First Responder, если необходимо.Вы можете сделать это из окна инспектора IB.
  2. Подключите действие к First Responder, как если бы это был обычный объект.
  3. Реализуйте метод действия в вашем документе.1010 * Если вам нужно программно добавить сообщение к первому респонденту, установите для цели объекта значение nil.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...