NSTextView に画像などのファイルを貼り付ける

NSTextView に画像を貼り付ける方法。
まず貼り付けるファイルを元に NSFileWrapper を作成します。

NSFileWrapper *wrap = [[NSFileWrapper alloc] initWithPath:path];

で、これから NSTextAttachment を作成します。

NSTextAttachment *attachment = [[NSTextAttachment alloc] initWithFileWrapper:wrap];

さらに貼り付ける画像の為の NSAttributedString を作成します。

NSAttributedString *attachChar = [NSAttributedString attributedStringWithAttachment:attachment];

一文字の貼り付けるファイルの為の NSAttributedString が出来ました。
この attachChar を NSTextView から取り出した NSAttributedString の貼り付けたい位置に挿入しても良いですし、これから NSTextView にセットする NSAttributedString の何処かに挿入しても良いです。

【例】文字列の最初に貼り付けます
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@”画像ファイル”];
[attrString beginEditing];
[attrString insertAttributedString:attachChar atIndex:0];
[attrString endEditing];

[[mTextView textStorage] setAttributedString:attrString];

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です