Проблема с первым ответчиком - PullRequest
1 голос
/ 05 февраля 2011

У меня возникли проблемы с реализацией некоторых ярлыков в приложении на основе документов (например, жирным шрифтом, курсивом и т. Д.), Доступным здесь:

Подключение пунктов меню в приложениях на основе документов

Проблема заключается в том, что описанный метод отключает фактический пункт меню «Жирный» от диспетчера шрифтов и заменяет его созданным мною действием (в данном случае boldIt). Поскольку может быть только одно отправленное действие, оно заменяется, а не добавляется. Как я могу преодолеть это? Очень расстраивает. Если кто-нибудь может мне помочь, я был бы очень признателен.

Zach

1 Ответ

1 голос
/ 06 февраля 2011

Поскольку у вас не может быть меню, запускающего два действия, есть два хороших способа подойти к этому:

1) Пусть ваше действие boldIt: вызовет соответствующий метод в NSFontManager, когда это будет сделано с его работой. Недостатком здесь является то, что для вызова boldIt: необходимо знать и о диспетчере шрифтов.

2) Подкласс NSFontManager и переопределение addFontTrait:, чтобы включить желаемое поведение при выборе «Полужирный», а затем вызвать оригинальный метод суперкласса с [super addFontTrait:sender].

...