NSTextViewとのトークン
-
12-09-2019 - |
質問
追加するにはどうしたらよいでトークンのように、 NSTokenField
, は、 NStextView
?
解決
これは実際には少し複雑です。あなたは、各「トークン」用のカスタムNSTextAttachment
を作成し、NSTextStorage
ためNSTextView
に挿入する必要があります。
Dejalでデビッド・シンクレアによって偉大なポストをrel="noreferrer"> href="http://www.dejal.com/blog/2007/11/cocoa-custom-attachment-text-view" のシステムます。
他のヒント
きっかけになるかもしれないと、簡単にアプローチを使用したカスタムセルのクラスのためのトークン:
- 書くの細胞のクラスを継承
NSTextAttachmentCell
およびメソッドを再実装し
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
このクラスを表すトークンをおNSTextView
. - を挿入するトークンが以下の手順を実行します。
- のインスタンスを生成し
NSTextAttachment
- セットの細胞への愛着のインスタンスのトークンの細胞のクラスです。
- をこの文字列が取り付けます。
- を挿入し、この文字列をテキスト。
- のインスタンスを生成し
る方法を挿入しますトークンをテキストビューのこのような
- (void)insertAttachmentCell:(NSTextAttachmentCell *)cell toTextView:(NSTextView *)textView
{
NSTextAttachment *attachment = [NSTextAttachment new];
[attachment setAttachmentCell:cell];
[textView insertText:[NSAttributedString attributedStringWithAttachment:attachment]];
}
このアプローチは適切なトークンによ デビッド-シンクレア.する必要がない利用ファイルの包装を開けて以来、表示したいので動的コンテンツ(トークンをすることにより、静止画.
見学デヴィッドの概念が有用なものです。彼の描いアプローチ実施のドラッグアンドドロップresp.コピーペースト機能
所属していません StackOverflow