NSTextView的automaticLinkDetectionEnabled方法如何工作?

时间:2011-01-13 23:01:25

标签: cocoa osx-snow-leopard 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会将其格式化为蓝色,带下划线,并使其成为可点击的链接。这不会发生。它只是作为纯文本阅读。我在textView的textStorage上没有格式化。

该文件写道:

  

'自动链接检测原因   表示在中键入的URL的字符串   视图自动进入   链接到这些网址。'

我还需要做什么?

2 个答案:

答案 0 :(得分:3)

设置文本后执行:

[infoTextView checkTextInDocument:nil];

这将浏览视图中的所有文本,并在此时将任何网址转换为链接。

答案 1 :(得分:0)

回答我自己的问题,以防地球上有其他人犯了同样的错误:

在核心数据应用程序中,具有属性'notes',如在Entity.notes中,如果您将注释设置为二进制类型,然后在NSTextView上使用IB绑定进行AttributedString绑定,(不要使用Values绑定) ,并使用内置的NSTransformer:NSKeyedUnarchiveFromData,Inspector for Smart Links等人的复选框,用于设置自动链接检测。 你也可以通过编程方式做到这一点。

我的笔记属性为'string',并且还绑定到'value'。

double d'oh .....