我正在使用UIDocumentInteractionController
来显示 PDF 文件。我的文件使用非用户友好的编码文件名存储在文件系统中。我确实可以访问该文件的更友好的名称,但该文件未使用此名称存储(出于唯一性原因)。
当我将文档加载到视图中时UIDocumentInteractionController
,视图会在标题栏中显示不友好的“真实”文件名。
有什么方法可以更改显示的标题,如UIDocumentInteractionController
?
我正在使用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;
}
}