ios - 在保存到文件共享选项中点击取消按钮时 UIDocumentInteractionViewController 中出现未知界面方向错误
问题描述
当我单击共享图标然后单击保存到文件选项时,我创建了一个 DocumentInteractionViewController 用于预览文件,然后如果我保存或取消它会在 iPhone 7 大小的设备中出现此错误。
Objective-C exception thrown. Name: UIApplicationInvalidInterfaceOrientation Reason: preferredInterfaceOrientationForPresentation 'unknown' must match a supported interface orientation: 'portrait, landscapeLeft, landscapeRight, portraitUpsideDown'!
它在 ipad 或 iphone Xr 中运行良好。
public class DocumentInteractionViewController
{
private UIDocumentInteractionController _documentInteractionController;
public DocumentInteractionViewController(string url)
{
if (!url.Contains(AppConstant.Protocols.File))
{
url = $"{AppConstant.Protocols.File}{url}";
}
_documentInteractionController = new UIDocumentInteractionController
{
Url = new NSUrl(Uri.EscapeUriString(url))
};
}
public void PresnetPreview(UIViewController viewController)
{
viewController = viewController.NavigationController ?? viewController;
viewController.ModalPresentationStyle = UIModalPresentationStyle.OverCurrentContext;
_documentInteractionController.RectangleForPreview = (e) => viewController.View.Frame;
_documentInteractionController.ViewControllerForPreview = (e) => viewController;
if (!_documentInteractionController.PresentPreview(true))
{
PresentOptionsMenu(viewController.View);
}
}
public void PresentOptionsMenu(UIView view)
{
_documentInteractionController.PresentOptionsMenu(view.Frame, view, true);
}
}
解决方案
推荐阅读
- ember.js - 如何初始化 Ember 模型 ID?
- javascript - 如何在 React Native 中将 flexbox 用于文本组件?水平环绕,垂直增量
- vba - 当另一个文本框在报告中增加其大小时如何停止增加文本框的大小
- ssl - 支持社区版的 TLS
- python - 如何按每一行处理大json文件并有效地转换为csv?
- python - 在文本后搜索 BeautifulSoup,需要从表行中获取所有数据
- python - 将浮点值列表传递给函数时出错
- c# - 通过 Apache Kafka 发送 .csv 等文件
- excel - 即使在更正之后,Excel 也会自动更改为日期格式
- javascript - 使用 Angular 将 Firestore 数据放入数组中