首页 > 解决方案 > 如何关闭模态视图控制器并刷新以前的视图控制器

问题描述

我有简单的二维码扫描仪(使用 Avfoundation)。当检测到二维码时,它会停止捕获并在扫描仪视图控制器上显示信息视图控制器(不是全屏)。但是当我关闭信息视图控制器时,我无法再次开始捕获(不调用外观方法)。任何想法如何解决它?

控制器 A 呈现控制器 B:

let sb = UIStoryboard(name: "customViewAlert", bundle: nil)
let vc = sb.instantiateInitialViewController()!
        vc.modalTransitionStyle = .crossDissolve
        vc.modalPresentationStyle = .overCurrentContext
        present(
            vc,
            animated: true,
            completion: nil
        )

控制器A委派:

extension ViewController: ModalHandler {
    func modalDismissed() {
        self.captureSession.startRunning()
    }
}

控制器 B 解雇:

@IBAction func closeButtonTap(_ sender: Any) {
  delegate?.modalDismissed()
  dismiss(
    animated: true,
    completion: nil
  )
}

标签: swift

解决方案


您需要设置委托

let vc = sb.instantiateInitialViewController()!
vc.delegate = self

推荐阅读