繁体   English   中英

视图控制器不会立即关闭并呈现新的视图控制器

[英]View Controller won't dismiss and present new view controller immediately

一旦 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)
   }) 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM