我正在尝试构建一个具有3个View Controller的应用
1. HomeViewController->一个导航到第二个View(ScannerViewController)的按钮
2. ScannerViewController->这将读取QRCode。我使用了https://www.hackingwithswift.com/example-code/media/how-to-scan-a-qr-code处的代码

在调用dismissViewControllerAnimated时,将调用HomeViewController。
有没有一种方法可以加载我拥有的第三个View Controller(InfoViewController)。

我尝试从HomeViewController的viewdidappear方法加载InfoViewController,但收到警告“警告:尝试在qrcode上显示qrcode.InfoViewController:0x14ed29d90。HomeViewController:0x14ee98bf0,其视图不在窗口层次结构中!”

最佳答案

我看了https://www.hackingwithswift.com/example-code/media/how-to-scan-a-qr-code位置的代码,为什么不删除dismissViewControllerAnimated行并在适当位置加载infoViewController。
 首先在该位置获取infoviewcontroller。 infoVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("infoviewcontrollerid") as? infoViewController
 即您的类名代替infoViewController,然后您像这样显示视图控制器

 self.presentViewController(infoVC, animated: Bool) { nil }

10-07 19:51