ust中使用UIDocumentPickerDelegate代理,点击“取消”时可以触发documentPickerWasCancelled,但是选中文件时无法触发documentPicker 请问是什么问题
@objc(UTSSDKModulesIkeFileUtilMyUIDocumentPickerDelegate)
@objcMembers
public class MyUIDocumentPickerDelegate : NSObject, UIDocumentPickerDelegate, IUTSSourceMap {
public func __$getOriginalPosition() -> UTSSourceMapPosition? {
return UTSSourceMapPosition("MyUIDocumentPickerDelegate", "uni_modules/ike-file-util/utssdk/app-ios/index.uts", 63, 7);
}
public var resultCallback: ((_ res: [String]) -> Void)?;
public func documentPicker(_ controller: UIDocumentPickerViewController, _ urls: [URL]) -> Void {
console.log("确定选择文件", " at uni_modules/ike-file-util/utssdk/app-ios/index.uts:97");
controller.dismiss(animated: true, completion: nil);
}
public func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) -> Void {
console.log("取消选择文件", " at uni_modules/ike-file-util/utssdk/app-ios/index.uts:113");
controller.dismiss(animated: true, completion: nil);
}
}
@objc(UTSSDKModulesIkeFileUtilNativeCode)
@objcMembers
public class NativeCode : UIViewController, UIDocumentPickerDelegate {
private static var myDelegate = MyUIDocumentPickerDelegate();
public func showPicker(_ options: ChooseFileOptions) {
NativeCode.myDelegate.resultCallback = options.success;
var uiDocumentPickerViewController: UIDocumentPickerViewController = UIDocumentPickerViewController(documentTypes: options.mime_types, in: UIDocumentPickerMode.import);
uiDocumentPickerViewController.delegate = NativeCode.myDelegate;
if #available(iOS 13.0, *) {
uiDocumentPickerViewController.shouldShowFileExtensions = true;
}
UTSiOS.getCurrentViewController().present(uiDocumentPickerViewController, animated: true, completion: nil);
}
}
public var chooseFile: ChooseFile = {
(_ options: ChooseFileOptions) -> Void in
DispatchQueue.main.async(execute: {
() -> Void in
var nativeCode = NativeCode();
nativeCode.showPicker(options);
});
};
0 个回复