Swift - 警告:在演示过程中尝试在 * 上演示 *
Swift - Warning: Attempt to present * on * while a presentation is in progress
由于这个错误,我无法切换到另一个视图控制器。我想在它成功扫描二维码后切换到另一个视图控制器。
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。
您可以在 reader(QRCodeReader) 关闭后尝试显示模态视图控制器吗?在文档中有一个名为 didScanResult
的 QRCodeReader
回调。
https://github.com/yannickl/QRCodeReader.swift
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)
})
}
删除 reader.completionBlock
中的代码。
由于这个错误,我无法切换到另一个视图控制器。我想在它成功扫描二维码后切换到另一个视图控制器。
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。
您可以在 reader(QRCodeReader) 关闭后尝试显示模态视图控制器吗?在文档中有一个名为 didScanResult
的 QRCodeReader
回调。
https://github.com/yannickl/QRCodeReader.swift
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)
})
}
删除 reader.completionBlock
中的代码。