UIDocumentInteractionController更改呈现视图的标题

时间:2012-10-12 08:47:30

标签: ios uiviewcontroller uidocumentinteraction

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

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

有没有办法更改UIDocumentInteractionController所显示的显示标题?

2 个答案:

答案 0 :(得分:39)

UIDocumentInteractionController具有name属性,您可以将其设置为用户友好名称。该名称将在所提交文件的标题栏中使用。

答案 1 :(得分: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;
    }
}