繁体   English   中英

UIDocumentInteractionController 更改呈现视图的标题

[英]UIDocumentInteractionController change title of presented view

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

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

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

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

这是 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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM