标签: uidocumentmenuvc

UIDocumentMenuViewController取消呈现视图控制器

我有一个VC"A"模式提供VC"B".B表示UIDocumentMenuViewControllerUIDocumentMenuDelegate协议在B中实现.

只要documentMenuWasCancelled(_ documentMenu:)或者documentMenu(_:didPickDocumentPicker:)被称为dismiss(animated:completion:)B的被调用,我不知道为什么.

这是我的代码

func presentDocumentPicker() {
    let documentTypes = [
        kUTTypeCompositeContent as String,
        kUTTypePDF as String,
        "com.microsoft.word.doc",
        "vnd.openxmlformats-officedocument.wordprocessingml.document"
    ]
    let documentMenuViewController = UIDocumentMenuViewController(documentTypes: documentTypes, in: .import)
    documentMenuViewController.delegate = self
    present(documentMenuViewController, animated: true, completion: nil)
}

// MARK: - Document Menu View Controller Delegate

func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
    print("did pick")
}

func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
    print("was cancelled")
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我在实现的委托函数中什么都不做.B仍然被解雇了.我不明白.

uiviewcontroller presentmodalviewcontroller ios swift uidocumentmenuvc

19
推荐指数
1
解决办法
1206
查看次数

当使用swift3.0进行按钮操作时,如何在ios mobile中打开文档文件,例如(.pdf,.doc,.docx)?

我需要打开UIDocumentPickerViewController它应该允许用户选择所有类型的文件.ie.(.pdf,.doc)文件我用的UIDocumentPickerViewController方法.我的代码:

UIDocumentPickerDelegate, UIDocumentMenuDelegate 在我的班级宣言中

//上传文件

func OpenFile(){

    let importMenu = UIDocumentMenuViewController(documentTypes: [String(kUTTypePNG),String(kUTTypeImage)], in: .import)
    importMenu.delegate = self
    importMenu.modalPresentationStyle = .fullScreen
    self.present(importMenu, animated: true, completion: nil)

}
@available(iOS 8.0, *)
public func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {        
    let cico = url as URL
    print("The Url is : \(cico)")

    do {
        let weatherData = try NSData(contentsOf: cico, options: NSData.ReadingOptions())
        print(weatherData)
        let activityItems = [weatherData]
        let activityController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
        if UI_USER_INTERFACE_IDIOM() == .phone { …
Run Code Online (Sandbox Code Playgroud)

document ios uidocument uidocumentmenuvc swift3

9
推荐指数
3
解决办法
2万
查看次数

UIDocumentMenuViewController在iPad上崩溃,但在iPhone上不崩溃

呈现一个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)
Run Code Online (Sandbox Code Playgroud)

2016-06-07 09:45:45.256 Memorise [2994:977408]未定义UICollectionViewFlowLayout的行为,因为:2016-06-07 09:45:45.260 Memorise [2994:977408]项目宽度必须小于UICollectionView的宽度减去该部分插入的左右值,减去内容插入的左右值。2016-06-07 09:45:45.261备忘录[2994:977408]相关的UICollectionViewFlowLayout实例为<_UIAlertControllerCollectionViewViewLayout:0x1668e6e0>,并将其附加到; 动画= {bounds.origin =; bounds.size =; position =; }; 层=; contentOffset:{0,0}; contentSize:{0,0}>集合视图布局:<_UIAlertControllerCollectionViewFlowLayout:0x1668e6e0>。2016-06-07 09:45:45.262记忆[2994:

我不明白为什么错误消息指的是collectionView什么?我根本不使用collectionView。也许UIDocumentMenuViewController将其作为内部组件?

ios uicollectionview uidocumentmenuvc ios9

4
推荐指数
2
解决办法
1399
查看次数