20

我正在使用UIDocumentInteractionController来显示 PDF 文件。我的文件使用非用户友好的编码文件名存储在文件系统中。我确实可以访问该文件的更友好的名称,但该文件未使用此名称存储(出于唯一性原因)。

当我将文档加载到视图中时UIDocumentInteractionController,视图会在标题栏中显示不友好的“真实”文件名。

有什么方法可以更改显示的标题,如UIDocumentInteractionController?

4

2 回答 2

43

UIDocumentInteractionController有一个name属性,您可以将其设置为用户友好的名称。该名称将用于呈现文档的标题栏中。

于 2012-10-12T09:34:31.253 回答
0

这是 Xamarin (C#) 代码,但无论如何我希望它有所帮助

public class PreviewFile : IPreviewFile
{
    public PreviewFile()
    {
    }

    public void Preview(string file, string title)
    {
        var window = UIApplication.SharedApplication.KeyWindow;
        var vc = window.RootViewController;
        bool isUrl = file.StartsWith("file:", StringComparison.OrdinalIgnoreCase);
        var url = isUrl ? new NSUrl(file) : NSUrl.FromFilename(file);
        
        var controller = UIDocumentInteractionController.FromUrl(url);

        controller.Delegate = new MyInteractionDelegate(vc);
        controller.Name = title;


        controller.PresentPreview(true);
    }
}

public class MyInteractionDelegate : UIDocumentInteractionControllerDelegate
{
    UIViewController parent;

    public MyInteractionDelegate(UIViewController controller)
    {
        parent = controller;
    }

    public override UIViewController ViewControllerForPreview(UIDocumentInteractionController controller)
    {
        return parent;
    }
}
于 2020-07-07T16:54:32.623 回答