0

に属性付きの文字列を入れたいのですがNSTextView。属性付きの文字列には3つの行があり、それぞれが異なる色で、下線はありません。各行をクリック(またはダブルクリック)して、行番号を出力できるようにしたい。

4

1 に答える 1

3

NSMutableAttributeStringのaddAttribute:value:rangeを使用して、属性付き文字列にクリック動作を割り当てることができます。

ドキュメントによると:属性付き文字列。文字列がクリックされると、TextViewクラスのclickedOnLink:atIndex:またはTextView DelegateのtextView:clickedOnLink:atIndex:を呼び出す必要があります。

このように(ブラウザでコード化され、エラーに注意してください)

NSMutableAttributedString* str = [[NSMutableAttributedString alloc] initWithString: @"Clickable String"];
NSRange range = NSMakeRange(0, [str length]);   
[str beginEditing];
[str addAttribute:NSLinkAttributeName value:@"The value of your attr String" range:range];
[str endEditing];

[textBox setAllowsEditingTextAttributes: YES];
[textBox setSelectable: YES];
[textBox setAttributedStringValue: str];
于 2011-06-10T12:13:44.677 に答える