1

Macでユーザーに表示しているRTFテキストがあります。今、私はいくつかのテキストを置き換える必要があります。テキストにはいくつかの画像がインラインで含まれています。次のコードを実行すると、画像が失われます。私はこれをMacで実行するためにc#、Mono、Monobjcを使用しています。

NSText _questionView;

// some initialisation code which I have skipped
//
NSRange range = NSRange.NSMakeRange(0, _questionView.TextStorage.Length);
NSData oldString = _questionView.RTFFromRange(range);
if (oldString != null)
{
   string s = oldString.ConvertRTFToString();
   _questionView.ReplaceCharactersInRangeWithRTF(range, s.ConvertToNSData());
   _questionView.SelectedRange = NSRange.NSMakeRange(0,0); 
   // After this line the inline images are lost.
}
4

1 に答える 1

1

RTFコンテンツをに変換しているため、画像が失われていますNSStringNSString属性ではなく、テキストのみを運ぶことができます。RTF属性(スタイル、画像など)を保持するために、テキスト操作の代わりにNSAttributedStringの使用を検討する必要があります。

于 2011-03-21T08:31:02.470 に答える