Как работает метод AutomaticLinkDetectionEnabled NSTextView?

Я настраиваю NSTextView программно:

    NSTextView *infoTextView = [[NSTextView alloc] initWithFrame:insetRect];
[infoTextView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
    [infoTextView setBackgroundColor:[NSColor clearColor]];
    [infoTextView setTextContainerInset:NSZeroSize];
    [infoTextView setEditable:YES];
    [infoTextView setSelectable:YES];
    [infoTextView setAutomaticLinkDetectionEnabled:YES];

Я ориентируюсь на 10.6 и думал, что AutomaticLinkDetectionEnabled означает, что когда пользователь вводит строку, которая является адресом веб-сайта, NSTextView форматирует ее синим цветом, подчеркивает и делает ссылку, по которой можно щелкнуть. этого не происходит. его просто читается как обычный текст. у меня нет форматирования в textStorage textView.

документ гласит:

«Автоматическое обнаружение ссылок приводит к тому, что строки, представляющие URL-адреса, введенные в представлении, автоматически превращаются в ссылки на эти URL-адреса».

что еще мне нужно сделать?


person lulu    schedule 13.01.2011    source источник


Ответы (2)


После того, как текст установлен, выполните:

[infoTextView checkTextInDocument:nil];

Это просмотрит весь текст в представлении и преобразует любые URL-адреса в ссылки в этой точке.

person Keith Maurino    schedule 18.09.2012
comment
Кажется, это также удаляет разрывы строк из текста, как-то обойти это? - person strangetimes; 23.09.2018

отвечая на мой собственный вопрос на случай, если на планете есть кто-то еще, кто сделал ту же ошибку, что и я:

в приложении основных данных со свойством «примечания», как в Entity.notes, если вы устанавливаете примечания как двоичный тип, а затем используете привязку IB в NSTextView для привязки AttributedString (не используйте привязку Values) и используйте встроенный NSTransformer: NSKeyedUnarchiveFromData, флажки в Inspector for Smart Links и др. Работают для настройки автоматического обнаружения ссылок. вы можете сделать это и программно.

у меня было свойство заметок как «строка», а также оно было привязано к «значению».

двойное ах.....

person lulu    schedule 18.01.2011