2011-01-13 6 views
1

Ich gründe programmatisch eine NSTextView up:Wie funktioniert die Methode automaticLinkDetectionEnabled von 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]; 

Ich bin Targeting 10.6, und dachte, dass automaticLinkDetectionEnabled das bedeutete, wenn der Benutzer eine Zeichenfolge eingegeben, die eine Website-Adresse war, NSTextView es Farbe blau formatieren würde, unterstrichen und mache es zu einem klickbaren Link. das passiert nicht. es wird nur als einfacher Text gelesen. Ich habe keine Formatierung in der textStorage TextView.

die doc lautet:

'Automatische Link-Erkennung verursacht Strings URLs eingegeben in der Ansicht, die automatisch in Links zu diesem URLs gemacht werden.'

was muss ich noch tun?

Antwort

0

meine eigene Frage bei der Beantwortung ist da noch jemand auf dem Planeten, die den gleichen Fehler gemacht ich tat: app

in einem Kerndaten, mit einer Eigenschaft ‚Notizen‘, wie in Entity.notes, wenn Sie Legen Sie Notizen als Binärtyp fest und verwenden Sie dann die IB-Bindung für eine NSTextView-Bindung für attributedString (verwenden Sie nicht die Bindung von Values) und verwenden Sie den integrierten NSTransformer: NSKeyedUnarchiveFromData, die Kontrollkästchen im Inspektor für Smart Links und andere, funktionieren um die automatische Verbindungserkennung einzurichten. können Sie das auch programmatisch tun.

Ich hatte meine Notizen Eigenschaft als 'String' und war auch verbindlich auf 'Wert'. oh

Doppel d'.....

3

Nachdem der Text gesetzt tun:

[infoTextView checkTextInDocument:nil]; 

Dies wird den gesamten Text in der Ansicht durchlaufen und konvertieren an diesem Punkt Links beliebige URLs .