.rtf файлы, видимо, поддерживаются, но мне не удалось заставить UIWebView правильно их отображать. Было бы правильно отформатировать текст (размер, цвет, шрифт и т. Д.), Но изображения просто не отображались (я пробовал .gif, .png и .jpg безрезультатно). Скорее всего, если вы собираетесь использовать .rtf, вы, вероятно, надеетесь отобразить изображения в UIWebView, поскольку основное преимущество rtf заключается в том, что вы можете вставлять изображения в файл. Это было опробовано на реальном iPad 1 (4.3) и на имитированном iPhone (4.3).
Код, созданный для отображения rtf в UIWebView, требовал, чтобы rtf был записан в файл с расширением rtf. Он отказался загружать файл, если вы не используете расширение или неверное расширение, поэтому убедитесь, что вы записали его как .rtf.
Вот функция Objective C, чтобы взять входную строку (которая должна содержать rtf, который вы хотите отобразить) и получить UIWebView, чтобы загрузить ее в представление ...
-(void) loadRtf : (UIWebView*) webView : (std::string) rtfFile
{
// This function will write the rtf to a file in your apps bundle location on the iDevice and use
// the UIWebView to load it...
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([path count] > 0) ? [path objectAtIndex:0] : nil;
NSString *fullPath = [basePath stringByAppendingPathComponent:@"rtfData.rtf"];
std::string fp = [fullPath cStringUsingEncoding:NSASCIIStringEncoding];
std::ofstream fs;
fs.open(fp.c_str(), std::ios_base::binary);
if( !fs.is_open() )
return;
fs << rtfFile;
fs.close();
NSURL *url = [NSURL fileURLWithPath:fullPath];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}