Swift - 警告:在演示文稿正在进行时尝试显示* on *

时间:2015-01-28 03:07:40

标签: ios swift xcode6

由于此错误,我无法切换到另一个视图控制器。我想在成功扫描qr代码后切换到另一个视图控制器。

2015-01-27 17:59:16.093 *[5416:1860144] Warning: Attempt to present <*.SuccessViewController: 0x144e38a20> on <*.MethodViewController: 0x144e2b960> whose view is not in the window hierarchy!

我的代码

@IBAction func btnQrCode(sender: AnyObject) { 
    reader.modalPresentationStyle = .FormSheet
    reader.delegate               = self

    reader.completionBlock = { (result: String?) in
    if result != nil {
        let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

        let successViewController = storyBoard.instantiateViewControllerWithIdentifier("successView") as SuccessViewController
        self.presentViewController(successViewController, animated:true, completion:nil)

    }

    presentViewController(reader, animated: true, completion: nil)
    }
}

请建议。

P.S:我正在使用QRCodeReader插件,https://github.com/yannickl/QRCodeReader.swift

1 个答案:

答案 0 :(得分:2)

您可以在阅读器(QRCodeReader)被解除后尝试显示模态视图控制器。文档中有一个名为QRCodeReader的{​​{1}}回调。

https://github.com/yannickl/QRCodeReader.swift

didScanResult

func reader(reader: QRCodeReader, didScanResult result: String) { self.dismissViewControllerAnimated(true, completion: { () -> Void in // use the result variable here. let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) let successViewController = storyBoard.instantiateViewControllerWithIdentifier("successView") as SuccessViewController self.presentViewController(successViewController, animated:true, completion:nil) }) } 删除代码。