0
我想在NSTextView
有一個歸因字符串。屬性字符串有3行,每行都有不同的顏色和下劃線。我希望能夠在每行上單擊(或雙擊),這將打印出行號。NSAttributedString點擊
我想在NSTextView
有一個歸因字符串。屬性字符串有3行,每行都有不同的顏色和下劃線。我希望能夠在每行上單擊(或雙擊),這將打印出行號。NSAttributedString點擊
您可以使用addAttribute:value:range的NSMutableAttributeString範圍將點擊行爲分配給您的屬性字符串。
根據文檔:Attributed String。當你的字符串被點擊時,它應該調用TextView類的clickedOnLink:atIndex:或textView:clickedOnLink:atIndex:在TextView委託中。
這樣的(編碼的瀏覽器,謹防錯誤的)
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];
我可以得到一個鏈接的行爲。我的問題是,我需要三條線,三種不同的顏色(我可以使用setLinkTextAttributes :)來改變顏色。當我嘗試你的代碼時,我得到[NSTextView setAllowsEditingTextAttributes:]:無法識別的選擇器發送到實例 – 2011-06-10 13:47:25