私は今、私のアプリケーションを動作させるために何時間も試してみました。問題は、アプリケーションがQRコードを検出した後、新しいView Controllerを表示しないということです。新しいビューコントローラでログに簡単なプリントステートメントが実行されますが、アプリケーションに新しいビューコントローラはありません。私はすでにStackoverflow上で多くのソリューションを試しましたが、この特定のケースでは役に立たないようです。私はアプリがQRコードをスキャンした後に行くことになっている新しいinfoViewControllerを指すようにラインに最後に使用しQRコードをスキャンした後に新しいviewcontrollerに移動するには?
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);
}
let vc = infoViewController()
self.present(vc, animated: true, completion: nil)
。次のようにinfoViewControllerのコードは次のとおりです。
import UIKit
class infoViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
print("Hi")
}
ログは「こんにちは」print文を示していますが、アプリケーションはinfoViewControllerに行っていません。ストーリーボードにはinfoViewControllerがあり、infoViewControllerクラスが選択されています。
詳細は不明ですか?
挨拶
キャプチャアウトではどのような種類のオブジェクトですか?関数を置く? – Lefteris
stroryboardまたはxibを使用していますか –
ViewControllerを表示する場合は、他のViewControllerのものでなければなりません。 –