2011-03-04 75 views
1

我有我在Mac上向用戶展示的RTF文本。現在我需要替換一些文本。文本內嵌了一些圖像。當我執行下面的代碼時,圖像會迷路。我正在使用C#,Mono和Monobjc在Mac上運行它。RTF中的圖像迷失在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

由於您正在將RTF內容轉換爲NSString,您正在丟失圖像。 NSString只能攜帶文字,不能屬性。您應該考慮使用NSAttributedString代替文本操作,以保留RTF屬性(樣式,圖像等)。