UIWebView可用于显示各种文件类型(例如:a.xls .key.zip .numbers.zip .pages.zip .pdf .ppt .doc .rtf .rtfd.zip .key .numbers和.PAGES)。
我正在研究我的应用程序的“如何使用此应用程序”部分,并希望找到一个好的文件类型(本地存储),用于在UIWebView中显示一些文本和图像。
问题是对最终结果缺乏控制。例如,文本大小似乎对.rtf或.doc文件没有影响。我想对文本和图像属性进行合理的控制。我可以使用pdf,但我不喜欢pdf的框架方式,使屏幕上的所有内容都小得多。
有没有人有任何在UIWebView中显示各种文件类型的经验。什么文件类型可以很好地控制最终结果?
答案 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