小编Ric*_*cky的帖子

使用UIDocumentInteractionController显示presentPreviewAnimated:通过UIWebView

我想拦截来自UIDocumentInteractionController的任何支持的文件类型的点击,并在模态视图中显示它们(由presentPreviewAnimated:UIDocumentInteractionController 的方法提供).此模态视图还提供"Open In ..."功能,以在设备上的其他兼容应用程序中打开任何这些文档.下面的代码将拦截这些点击,检测URL字符串是否具有任何适当的后缀,加载此数据,将其写入目录,再次读取它,最后使用该presentPreviewAnimated:方法使用数据.我必须首先将数据写入文件系统,因为UIDocumentInteractionController需要本地数据,不能直接使用URL中的数据(据我所知).

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
 if (navigationType == UIWebViewNavigationTypeLinkClicked) {
  ILog(@"URL loading for NavigationTypeLinkClicked: %@", request.URL.absoluteString);

  if ([request.URL.absoluteString hasSuffix:@"pdf"] || [request.URL.absoluteString hasSuffix:@"doc"] || [request.URL.absoluteString hasSuffix:@"xls"] || [request.URL.absoluteString hasSuffix:@"ppt"] || [request.URL.absoluteString hasSuffix:@"rtf"] || [request.URL.absoluteString hasSuffix:@"key"] || [request.URL.absoluteString hasSuffix:@"numbers"] || [request.URL.absoluteString hasSuffix:@"pages"]) {
   if (NSClassFromString(@"UIDocumentInteractionController")) {
                NSArray *parts = [request.URL.absoluteString componentsSeparatedByString:@"/"];
                self.previewDocumentFileName = [parts lastObject];
                NSLog(@"The file name is %@", previewDocumentFileName);

    // Get file online
                NSData *fileOnline = [[NSData alloc] initWithContentsOfURL:request.URL];

    // …
Run Code Online (Sandbox Code Playgroud)

iphone uiwebview

30
推荐指数
1
解决办法
2万
查看次数

在解除模态视图时清除UIWebView内容(iPhone OS 3.0)

我目前有一个在模态视图中显示的UIWebView.它基本上是一个详细视图,提供用户单击链接时的页面视图.当视图被驳回,然后再次提出了(当用户点击另一个链接),先前加载的内容仍然是可见的,"上面"的最后内容的新内容加载.这是有道理的,因为UIWebView的实例在会话之间持续存在,并且仅在需要内存时才会释放.

但是,当模态视图被解除时,我想完全清除UIWebView,以便1)内容被清除,2)内存被释放.到目前为止,我的研究和尝试都没有找到答案.这些链接对我没用:

  1. 是否可以释放UIWebView的内存?
  2. 重复使用的UIWebView在iPhone上显示以前加载的内容

我已经尝试[[NSURLCache sharedURLCache] removeAllCachedResponses];将webView设置为nil并在模态视图关闭时手动释放webView无效.干瘪群众的任何想法?

memory uiwebview iphone-sdk-3.0 modalviewcontroller

21
推荐指数
5
解决办法
2万
查看次数