Ссылки, не нажимаемые в режиме Rich Text Text View в macOS - PullRequest
0 голосов
/ 27 марта 2020

Я создаю крошечное приложение для macOS, используя Swift, и у меня есть Rich Document Text View в моем контроллере представления. В этом текстовом представлении у меня есть ссылка на веб-сайт, который правильно отформатирован, то есть цвет синий и подчеркнут. Однако, когда я нажимаю на нее, ничего не происходит. Даже курсор не меняется при наведении на ссылку.

Есть идеи, как сделать ее кликабельной?

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

@objc private func linkClicked() {
    guard let url: URL = URL(string: "https://blog.rampatra.com") else { return }
    NSWorkspace.shared.open(url)
}

, но подумывал, можно ли это сделать в самом Text View, установив некоторые свойства в XCode, тогда ничего подобного. Говоря о свойствах в XCode, я попытался включить флаг Smart Links на XCode для этого View, но не повезло.

Ответы [ 2 ]

1 голос
/ 28 марта 2020

Ссылки в текстовых представлениях не являются интерактивными, если только текстовое представление не является «выбираемым». Итак, вы должны включить это. Если вы на самом деле не хотите разрешать выбор, поскольку задокументировано для свойства isSelectable , вы можете реализовать textView(_:willChangeSelectionFromCharacterRanges:toCharacterRanges:) в делегате текстового представления, чтобы запретить фактический выбор.

0 голосов
/ 27 марта 2020

NSTextView имеет isAutomaticLinkDetectionEnabled Вы пробовали это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...