[英]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.