下载完成后文件未打开 iOS swift

File is not opening after Downloading has been completed iOS swift

下载完成后,当用户点击警告弹出窗口中的关闭按钮时,我会显示下载已完成的警告 self.quickLook(url: url) func 将称呼。 但没有在 webView 中显示文件。删除警报代码时一切正常,文件在 webView 中打开。

 func showAlerts(){
        let alertController = UIAlertController(title: "Download", message: "Download Completed", preferredStyle: .alert)
        alertController.addAction(UIAlertAction(title: "dismiss", style: .default, handler: { _ in
            self.dismiss(animated: true, completion: nil)
        }))
        alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
        self.present(alertController, animated: true, completion: nil)
        
    }
   
    @IBAction func openDoc(_ sender: UIButton) {
        if let url = URL(string: "https://ikddata.ilmkidunya.com/images/books/12th-class-chemistry-chapter-10.pdf") {
            self.loadFileAsync(url: url) { response, error in
                if error == nil {
                    self.showAlerts()
                    self.quickLook(url: url)
                }
            }
        }
    }

查看控制台截图 Console screenshot see msg

您的 quickLook 是如何实施的?我猜它也会调用 present。您不能在 iOS.

上同时展示两件事

一个选项是在解除警报后 quickLook。类似于:

func showAlerts(and onDismiss: (() -> Void)? = nil) {
  let alertController = UIAlertController(title: "Download", message: "Download Completed", preferredStyle: .alert)
  alertController.addAction(UIAlertAction(title: "dismiss", style: .default, handler: { _ in
    self.dismiss(animated: true) { onDismiss?() }
  }))
  alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))

  present(alertController, animated: true, completion: nil)
}
   
@IBAction func openDoc(_ sender: UIButton) {
  if let url = URL(string: "https://ikddata.ilmkidunya.com/images/books/12th-class-chemistry-chapter-10.pdf") {
    loadFileAsync(url: url) { response, error in
      if error == nil {
        self.showAlerts { self.quickLook(url: url) }
      }
    }
  }
}

从你的话来看,这正是你所期望的。