我正在使用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;
}
}