Создать гиперссылку на некоторый текст в NSTextView - PullRequest
1 голос
/ 11 апреля 2010

Я могу создать гиперссылку на некоторый URL в NSTextView, используя «Панель ссылок». Или я могу добавить ссылку вручную, используя атрибут NSLinkAttributeName NSAttributedString.

Я не хочу делать гиперссылку на какой-то внешний URL, но я хочу иметь возможность создать гиперссылку на некоторый текст в NSTextView. Знаете ли вы, как в Pages вы можете установить некоторый текст в качестве закладки, а затем сделать гиперссылку на эту закладку? Есть идеи или примеры того, как это сделать?

1 Ответ

2 голосов
/ 11 апреля 2010

Я давно этого не делал, поэтому возьмите это с крошкой соли, но это выглядит примерно так:

  1. Вам необходимо определить протокол для вашего приложения для обработки URL-адресов. Это будет выглядеть примерно так: «myApplicationName: // aPath»
  2. В файле Info.plist apps добавьте протокол под ключом CFBundleURLTypes.
  3. Напишите код приложения для ответа на openURL из NSWorkspace. Это означает, что приложение должно понимать, как преобразовать путь стиля URL-адреса в определенное место в одном из своих документов.

Я думаю, что лучший способ обработки URL-пути - это присвоить UUID каждому документу, а затем числовую схему для абзаца и предложений. URL в конечном итоге выглядит как: myApplicationName://UUID/paragraphNumber/sentenceNumber/wordNumber. В качестве альтернативы вы можете вставить скрытый текст для определения привязки и просто выполнить поиск этой привязки.

...