视图控制器不会立即关闭并显示新的视图控制器



一旦 QRCode 阅读器被关闭,我就会尝试呈现一个视图控制器,但是在执行此操作时,QRCode 阅读器视图控制器会再次出现。下面的代码片段显示了该方法以及我如何关闭视图以及如何尝试呈现下一个视图控制器。关于为什么 QR 阅读器视图控制器在我尝试呈现不同的控制器时不断呈现自己的任何想法。

func readerDidCancel(_ reader: QRCodeReaderViewController) {
dismiss(animated: true, completion: nil)
present(ClockInOrOutViewController(), animated: true, completion: nil)
}

您必须在dismiss完成处理程序中调用present

func readerDidCancel(_ reader: QRCodeReaderViewController) {
weak var presentingViewController = self.presentingViewController
self.dismiss(animated: true, completion: {
presentingViewController?.present(ClockInOrOutViewController(), animated: true, completion: nil)
})
}

如果这不起作用,则意味着您的演示视图控制器也以某种方式被删除。(被解雇/弹出?

当其他视图控制器正在关闭时,您不能显示视图控制器,也不能在关闭视图控制器时显示视图控制器。 你可以做这样的事情:

func readerDidCancel(_ reader: QRCodeReaderViewController) {
let presenting = self.presentingViewController
dismiss(animated: true, completion: {
presenting?.present(ClockInOrOutViewController(), animated: true, completion: nil)
}) 
}

相关内容

  • 没有找到相关文章

最新更新