1

私はプログラムで 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は、ユーザーがWebサイトアドレスである文字列を入力すると、NSTextViewが青色、下線付きでフォーマットし、クリック可能なリンクにすることを意味すると考えました. それは起こりません。プレーンテキストとして読み取られます。textView の textStorage にフォーマットがありません。

ドキュメントは次のとおりです。

「自動リンク検出により、ビューに入力された URL を表す文字列が、それらの URL へのリンクに自動的に作成されます。」

他に何をする必要がありますか?

4

2 に答える 2

3

テキストを設定したら、次を実行します。

[infoTextView checkTextInDocument:nil];

これにより、ビュー内のすべてのテキストが調べられ、その時点で URL がリンクに変換されます。

于 2012-09-18T19:40:51.407 に答える
0

地球上に私と同じ過ちを犯した人がいる場合に備えて、私自身の質問に答えます。

コア データ アプリで、Entity.notes のようにプロパティ「notes」を使用し、notes をバイナリ型として設定し、AttributedString バインディングに NSTextView で IB バインディングを使用し (Values バインディングを使用しないでください)、組み込みの NSTransformer: NSKeyedUnarchiveFromData、スマート リンクなどのインスペクターのチェック ボックスは、自動リンク検出をセットアップするために機能します。プログラムでそれを行うこともできます。

私はメモのプロパティを「文字列」として持っていて、「値」にもバインドしていました。

ダブルドー……

于 2011-01-18T17:05:53.590 に答える