如何以编程方式触发seque?

时间:2017-06-20 19:51:29

标签: ios swift3

我有一个TableViewController,它使用以下代码显示(推送)ViewController(ScannerViewController):Bar Code Scanner

有以下方法:

func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {
    captureSession.stopRunning()

    if let metadataObject = metadataObjects.first {
        let readableObject = metadataObject as! AVMetadataMachineReadableCodeObject;

        AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
        found(code: readableObject.stringValue);
    }

    dismiss(animated: true)   
}

而不是解雇(动画:true)我想触发一个序幕。 TableViewController中的方法是:

@IBAction func unwindWithSelectedCode(segue: UIStoryboardSegue) {

    if let scannerViewController = segue.source as? ScannerViewController,
        let selectedCode = scannerViewController.code {
        myCode = selectedCode
    }
}

通常我有一个按钮,我连接到故事板中VC顶部的ViewControllers Exit符号,并调用上面的方法。但我没有按钮。那么如何在没有按钮的情况下以编程方式调用seque方法?

1 个答案:

答案 0 :(得分:0)

试试这个

self.performSegue(withIdentifier: "unwindSegueIdentifier", sender: self)

unwindSegueIdentifier替换为您的标识符