提供UIDocumentMenuViewController
以便能够将文件加载到应用中。在iPhone上它可以工作,但不适用于iPad。使用iOS9。知道什么是错的吗?
dmvc = UIDocumentMenuViewController(documentTypes: ["public.data"], inMode: .Import)
dmvc!.delegate = self
dmvc!.popoverPresentationController?.sourceView = addSongButton
self.presentViewController(dmvc!, animated: true, completion: nil)
2016-06-07 09:45:45.256记住[2994:977408]的行为 未定义UICollectionViewFlowLayout,因为:2016-06-07 09:45:45.260记住[2994:977408]项目宽度必须小于 UICollectionView的宽度减去左边的插图和 正确的值,减去内容的左右值。 2016-06-07 09:45:45.261记住[2994:977408]相关 UICollectionViewFlowLayout实例是 < _UIAlertControllerCollectionViewFlowLayout:0x1668e6e0>,它是 附属于 动画= {bounds.origin =; bounds.size =; 位置=; }; layer =; contentOffset:{0,0}; contentSize:{0,0}>采集 视图布局:< _UIAlertControllerCollectionViewFlowLayout:0x1668e6e0>。 2016-06-07 09:45:45.262背诵[2994:977408]做一个象征性的 要捕获的UICollectionViewFlowLayoutBreakForInvalidSizes的断点 这在调试器中。
我不明白为什么错误消息会引用collectionView
?我根本不使用collectionView。也许UIDocumentMenuViewController
将它作为内部组件?
答案 0 :(得分:4)
iPad有一些关于ActionSheets及其取消按钮的特殊规则,通常取决于您显示ActionSheets的位置,因此您可以通过以下方式解决崩溃问题:
let importMenu = UIDocumentMenuViewController(documentTypes: [kUTTypeHTML as String ], in: .import)
importMenu.delegate = self
importMenu.modalPresentationStyle = .popover
importMenu.popoverPresentationController?.sourceView = self.view
self.present(importMenu, animated: true, completion: nil)
答案 1 :(得分:0)
我遇到了同样的问题。我设置了sourceView = self.view,并且必须创建一个sourceRect = theButton.frame。