Как настроить контекстное меню PDFView? - PullRequest
0 голосов
/ 01 октября 2018

Я использую экземпляр PDFView в своем приложении.Я хотел бы добавить свои собственные элементы в контекстное меню и удалить некоторые элементы по умолчанию, которые не подходят для моего приложения.

Некоторые элементы по умолчанию подходят, поэтому в идеале я бы адаптировал существующее меню, а несоздание нового.

Когда я создаю представление pdf, не существует действительного элемента pdfView.menu, поэтому я не могу установить свой собственный делегат.

Я пытался использовать наследование классаиз PDFView (который объявлен как NSMenuDelegate) и переопределения menuWillOpen и menuNeedsUpdate - но мой код никогда не вызывается.

Я вижу, что PDFView смешивает текстовое поле и связанные с pdf пункты меню, в зависимости от выбора текста, впредставленное контекстное меню, так что, очевидно, там нет фиксированного меню.

Есть ли в любом случае, я могу перехватить это или мне просто нужно навязать ему свое собственное меню?

В MacOS10,13.

1 Ответ

0 голосов
/ 02 октября 2018

Подкласс PDFView и переопределение func menu(for event: NSEvent) -> NSMenu?.Звоните super и адаптируйте меню.

Реализуйте func validateMenuItem(_ menuItem: NSMenuItem) -> Bool, чтобы включить или отключить элементы.

...