我有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.
}发布于 2011-03-21 16:31:02
您将丢失图像,因为您正在将RTF内容转换为NSString。NSString只能携带文本,不能携带属性。为了保留NSAttributedString属性(样式、图像等),您应该考虑使用RTF代替文本操作。
https://stackoverflow.com/questions/5194644
复制相似问题