使用 UIDocumentInteractionController 预览文档在 iOS 13 中不起作用
Preview document using UIDocumentInteractionController doesn't work in iOS 13
我使用 UIDocumentInteractionController 在应用程序中预览不同类型的文件。这在过去工作得很好,但是当 运行 设备上的应用程序 iOS 13 文档不显示时。显示的是文件名和类型。
我搜索过类似的问题并找到了这个
UIDocumentInteractionController showing file name and file type , not file contents
我已经尝试 NSUrl.CreateFileUrl(FilePath, null)
正如对该问题的评论所暗示的那样,但这并不能解决问题。
这是我用来打开文件和呈现预览的:
var uidic = UIDocumentInteractionController.FromUrl(new NSUrl(FilePath, true));
uidic.Delegate = new DocInteractionC(navcontroller);
uidic.PresentPreview(true);
控制器定义:
public class DocInteractionC : UIDocumentInteractionControllerDelegate
{
readonly UIViewController m_oParentViewController;
public DocInteractionC(UIViewController controller)
{
m_oParentViewController = controller;
}
public override UIViewController ViewControllerForPreview(UIDocumentInteractionController controller)
{
return m_oParentViewController;
}
public override UIView ViewForPreview(UIDocumentInteractionController controller)
{
return m_oParentViewController.View;
}
}
这是否可能是 Xamarin.ios 中 NSUrl 对于 iOS 13 的问题?任何帮助将不胜感激。
我的问题通过修改代码解决如下:
var uidic = new UIDocumentInteractionController()
{
Name = fileName,
Url = NSUrl.FromFilename(filePath),
Delegate = new DocInteractionC(viewController)
};
uidic.PresentPreview(true);
较大的文件,例如 11MB 的 XLSX 文件,加载时间会很长。
我使用 UIDocumentInteractionController 在应用程序中预览不同类型的文件。这在过去工作得很好,但是当 运行 设备上的应用程序 iOS 13 文档不显示时。显示的是文件名和类型。
我搜索过类似的问题并找到了这个 UIDocumentInteractionController showing file name and file type , not file contents
我已经尝试 NSUrl.CreateFileUrl(FilePath, null)
正如对该问题的评论所暗示的那样,但这并不能解决问题。
这是我用来打开文件和呈现预览的:
var uidic = UIDocumentInteractionController.FromUrl(new NSUrl(FilePath, true));
uidic.Delegate = new DocInteractionC(navcontroller);
uidic.PresentPreview(true);
控制器定义:
public class DocInteractionC : UIDocumentInteractionControllerDelegate
{
readonly UIViewController m_oParentViewController;
public DocInteractionC(UIViewController controller)
{
m_oParentViewController = controller;
}
public override UIViewController ViewControllerForPreview(UIDocumentInteractionController controller)
{
return m_oParentViewController;
}
public override UIView ViewForPreview(UIDocumentInteractionController controller)
{
return m_oParentViewController.View;
}
}
这是否可能是 Xamarin.ios 中 NSUrl 对于 iOS 13 的问题?任何帮助将不胜感激。
我的问题通过修改代码解决如下:
var uidic = new UIDocumentInteractionController()
{
Name = fileName,
Url = NSUrl.FromFilename(filePath),
Delegate = new DocInteractionC(viewController)
};
uidic.PresentPreview(true);
较大的文件,例如 11MB 的 XLSX 文件,加载时间会很长。