gpt4 book ai didi

ios - 如何在同一个VC中设置多个UIDocumentPickers

转载 作者:行者123 更新时间:2023-12-01 21:26:22 25 4
gpt4 key购买 nike

在我工作的一个 VC 中,有三个按钮,每个按钮都应该为不同类型的媒体提供一个文档选择器。我已经配置了这个——但我不确定如何处理我的委托(delegate)方法

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
我如何监控哪个文档选择器触发了委托(delegate)方法,因为每个按钮都应该以不同的方式处理这个函数?我尝试使用 controller.tag ,但这似乎不是 UIDocumentPickerViewController 的属性.任何指针将不胜感激谢谢。

最佳答案

您可以创建 3 个单独的 UIDocumentPickerViewController 实例在您的 View Controller 中并检查 controller 的实例在委托(delegate)方法中。

private lazy var documentPicker1: UIDocumentPickerViewController = {
let controller = UIDocumentPickerViewController()
controller.delegate = self
return controller
}()

private lazy var documentPicker2: UIDocumentPickerViewController = {
let controller = UIDocumentPickerViewController()
controller.delegate = self
return controller
}()

private lazy var documentPicker3: UIDocumentPickerViewController = {
let controller = UIDocumentPickerViewController()
controller.delegate = self
return controller
}()

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {

if controller == documentPicker1 {

} else if controller == documentPicker2 {

}
...
}
或者您可以在 view controller 中保留一个属性。跟踪哪个按钮被点击并在委托(delegate)方法中检查它。

关于ios - 如何在同一个VC中设置多个UIDocumentPickers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63441335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com