NSTextView.checkTextInDocument () изменяет URL-адреса существующих ссылок в тексте - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть приложение Ma c со встроенным форматированным текстом NSTextView. У меня включена функция «Смарт-ссылки», поэтому при вводе URL-адреса этот URL-адрес автоматически превращается в интерактивную гиперссылку.

textView.isAutomaticLinkDetectionEnabled = true

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

Пример:

Представьте, что у вас есть список закладок для быстрого поиска различных терминов, таких как "Swift". Вы добавляете полную ссылку в качестве места назначения (https: // www.google.com/search?hl=en&q=swift), но называете ссылку просто "google.com".

Если вы продолжите печатать после ссылки, ее пункт назначения будет возвращен на "google.com", поскольку он распознается как действительный URL:

Link editing NSTextView

Вы можете воспроизвести это в TextEdit:

  1. Создать новый форматированный текстовый документ
  2. Тип "google.com" ← он превращается в ссылку
  3. Ctrl-клик по ссылке> Редактировать ссылку…
  4. Введите новый пункт назначения> OK
  5. Введите справа после вставленной ссылки

→ Его назначение изменяется обратно на заголовок ссылки.

Это ошибка или функция? Я бы сказал, что это нежелательное поведение, потому что это приводит к потере данных для пользователя (фактическое назначение ссылки). Я ожидал бы, что только оставшиеся ссылки в «обычном тексте» преобразуются в гиперссылки при проверке текста.

Последний вопрос:

Как можно избежать существующие ссылки назначения автоматически обновляются?

...