用于在UIWebView中显示文本和图像的良好文件类型

时间:2010-11-10 17:20:21

标签: iphone uiwebview

UIWebView可用于显示各种文件类型(例如:a.xls .key.zip .numbers.zip .pages.zip .pdf .ppt .doc .rtf .rtfd.zip .key .numbers和.PAGES)。

我正在研究我的应用程序的“如何使用此应用程序”部分,并希望找到一个好的文件类型(本地存储),用于在UIWebView中显示一些文本和图像。

问题是对最终结果缺乏控制。例如,文本大小似乎对.rtf或.doc文件没有影响。我想对文本和图像属性进行合理的控制。我可以使用pdf,但我不喜欢pdf的框架方式,使屏幕上的所有内容都小得多。

有没有人有任何在UIWebView中显示各种文件类型的经验。什么文件类型可以很好地控制最终结果?

5 个答案:

答案 0 :(得分:8)

我会用好旧的 html 。它在UIWebview(duh)中得到很好的支持,并且相对容易学习和创建。

更新

要从UIViewController显示本地文件,请使用类似

的过程
UIWebView *myWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
[view loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"documentation" ofType:@"html"]]]];
while ([view isLoading]) {
    // wait...
}
[self.view.addSubview:myWebView];
[view release];

或者,对于远程文件:

UIWebView *myWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
[view loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.myserver.com/ios/documentation/documentation.html"]]];
while ([view isLoading]) {
    // wait...
}
[self.view.addSubview:myWebView];
[view release];

答案 1 :(得分:0)

使用html是最简单的选择。但PDF是最灵活的解决方案。我曾经在一个项目上做过的就是使用Core Graphics CGContextDrawPDFPage来渲染pdf。它在Quartz 2D Programming Guide中有很好的记录。部分名称是“PDF文档创建,查看和转换”。使用后,您可以使用任何导出为pdf的软件来创建内容。

答案 2 :(得分:0)

我肯定会将HTML用于此目的,它为您提供双重灵活性,您可以从与应用程序捆绑在一起的预缓存文件加载,也可以在动态常见问题解答中将其托管在Web服务器上并从那里传送< / p>

如果将UIWebView包装在控制器上,则可以执行简单的代码,如下所示

[self openURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"help" ofType:@"html"]]];

[self openURL:[NSURL URLWithString:@"http://somedomain.com/iPhoneHelp/"]];

开放网址方法类似于

- (void) openURL:(NSURL *)url
{
    HelpWebViewViewController *webView = [[HelpWebViewViewController alloc] initWithURL:url];
    [self.navigationController pushViewController:webView animated:YES];
    [webView release];
}

在此Web控制器上提供init方法,以设置全屏UIWebView的URL

答案 3 :(得分:0)

您可以使用UIWebView method

loadData:MIMEType:textEncodingName:baseURL:

使用NSData类方法(dataWithContentsOfFile:)从本地文件加载数据。

HTML是最好的格式,因为它是最初制作的webview。 HTML提供了大量的功能和外观。

答案 4 :(得分:0)

由于您使用的是UIWEbView,我建议您查看CSS。 Webkit已经过编码,因此CSS看起来最接近本机代码呈现。

您还可以使用Apple对该功能的大力支持。如果您在iOS中使用来自Adobe或Microsoft的格式,那么您已经为自己制造了障碍

如果你想在UIWebView中显示一个整洁的高清图像,这里有一个关于孵化器的好建议:http://iphoneincubator.com/blog/windows-views/display-images-in-uiwebview