使用 UIDocumentInteractionController 预览文档在 iOS 13 中不起作用

2024-02-17

我使用 UIDocumentInteractionController 来预览应用程序中不同类型的文件。这在过去工作得很好,但是当在 iOS 13 的设备上运行该应用程序时,不会显示该文档。显示的是文件名和类型。

我寻找过类似的问题并发现了这个UIDocumentInteractionController 显示文件名和文件类型,而不是文件内容 https://stackoverflow.com/questions/37936259/uidocumentinteractioncontroller-showing-file-name-and-file-type-not-file-conte

我试过了NSUrl.CreateFileUrl(FilePath, null)正如对该问题的评论所暗示的那样,但这并不能解决问题。

这是我用来打开文件并显示预览的方法:

var uidic = UIDocumentInteractionController.FromUrl(new NSUrl(FilePath, true));
uidic.Delegate = new DocInteractionC(navcontroller);
uidic.PresentPreview(true);

以及控制器定义:

public class DocInteractionC : UIDocumentInteractionControllerDelegate
{
    readonly UIViewController m_oParentViewController;

    public DocInteractionC(UIViewController controller)
    {
        m_oParentViewController = controller;
    }

    public override UIViewController ViewControllerForPreview(UIDocumentInteractionController controller)
    {
        return m_oParentViewController;
    }

    public override UIView ViewForPreview(UIDocumentInteractionController controller)
    {
        return m_oParentViewController.View;
    }
}

这是否可能是 iOS 13 的 Xamarin.ios 中的 NSUrl 的问题?任何帮助将非常感激。


我的问题通过修改代码解决,如下所示:

var uidic = new UIDocumentInteractionController()
{
  Name = fileName,
  Url = NSUrl.FromFilename(filePath),
  Delegate = new DocInteractionC(viewController)
};

uidic.PresentPreview(true);

较大的文件(例如 11MB XLSX 文件)将需要很长时间才能加载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 UIDocumentInteractionController 预览文档在 iOS 13 中不起作用 的相关文章

随机推荐