某些DOC文档未在iOS中显示?

时间:2015-02-28 10:42:10

标签: ios uiwebview uidocumentinteraction qlpreviewcontroller

这是一个奇怪的问题,我的列表上有许多不同的类型文件,如pdf,ppt,xls等,一切正常,但有些doc文件没有显示。

我使用WebView,UIDocumentInteractionController,QLPreviewController来显示文件,但我遇到了同样的问题。喜欢这个

enter image description here

当我使用webview时,我有这个屏幕

enter image description here

文件大小没问题,我的意思是不太大,在计算机打开时没有问题。我在一个真实的设备中测试了应用程序,同样的问题..

这是类似的问题,我认为ios中有一个bug,因为他们说

How to manage memory within a QLPreviewController

但我相信应该有解决方案,这是一个记忆问题吗?我使用Xamarin.iOS,这是我的代码

QLPreviewItemBundle prevItem = new QLPreviewItemBundle(info.FileName, info.FilePath);
QLPreviewController previewController = new QLPreviewController();
previewController.DataSource = new PreviewControllerDS(prevItem);
NavigationController.PushViewController(previewController, true);

这适用于UIDocumentInteractionController

var documentPath = docInfo.FilePath;
UIDocumentInteractionController interationController  = UIDocumentInteractionController.FromUrl(NSUrl.FromFilename(documentPath));

interationController.Name = docInfo.FileName;
interationController.ViewControllerForPreview = (controller) => NavigationController;
interationController.DidEndPreview += (sender, e) =>
{
 interationController.Dispose(); interationController = null;
};

InvokeOnMainThread(() => interationController.PresentPreview(true));

1 个答案:

答案 0 :(得分:1)

尝试使用此方法,

 -(void)loadDocument:(NSString*)documentName inView:(UIWebView*)webView
    {
        NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:nil];
        NSURL *url = [NSURL fileURLWithPath:path];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [webView loadRequest:request];
    }

    // Calling -loadDocument:inView:
    [self loadDocument:@"mydocument.rtfd.zip" inView:self.myWebview];