Изображения в RTF теряются на Mac - PullRequest
1 голос
/ 04 марта 2011

У меня есть текст RTF, который я показываю пользователю на Mac.Теперь мне нужно заменить текст.Текст имеет несколько встроенных изображений.Когда я выполняю следующий код, изображения теряются.Я использую C #, Mono и Monobjc, чтобы запустить это на Mac.

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.
}

1 Ответ

1 голос
/ 21 марта 2011

Вы теряете изображения, потому что конвертируете содержимое RTF в NSString.NSString может содержать только текст, а не атрибуты.Вам следует рассмотреть возможность использования NSAttributedString вместо манипулирования текстом, чтобы сохранить атрибуты RTF (стиль, изображения и т. Д.).

...