swift - 如何关闭模态视图控制器并刷新以前的视图控制器
问题描述
我有简单的二维码扫描仪(使用 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
)
}
解决方案
您需要设置委托
let vc = sb.instantiateInitialViewController()!
vc.delegate = self
推荐阅读
- gradle - java.lang.IllegalArgumentException:不支持的类文件主要版本 57
- python - 我可以在主函数中放置多少个函数?
- reactjs - 获得“不变违规:超过最大更新深度”。ImmerJS 出错
- django - 此站点无法提供安全连接 ERR_SLL_PROTOCOL ERROR
- reactjs - React 表单数据未发送到 Express 后端
- angular - Angular HTTP Post - 无法访问返回值
- android - 使用 Android 10+ 直接访问文件(SQlite 数据库)
- c# - 改进我选择具有唯一值的多个 XElement 来构建列表的方式
- vega - 以编程方式更新 vega/vega-lite 中的多次点击信号
- python - 如何在列的两个给定值之间选择数据框?