Загрузить QR код ссылки в UIwebview Swift iOS

Привет всем У меня есть веб-просмотр VViewController.swift и QRCode Scanner QRRViewController.swift, как загрузить QR-код, если его URL-адрес для веб-просмотра прямой, а не для сафари?

VVCiewcontroller.swift

  import UIKit
class VViewController: UIViewController {



 @IBOutlet weak var WWebView: UIWebView!

 var QRLink:String!



 override func viewDidLoad() {
    super.viewDidLoad()



    var url = NSURL(string: QRLink)
    var request = NSURLRequest(URL: url!)

    WWebView.loadRequest(request)
  }

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

  }
@IBAction func goBack(sender: AnyObject) {
    self.dismissViewControllerAnimated(true, completion: nil)
  }
}

QRRViewController.swift вот так вот этот код загружает URL кода Qr в сафари, а не в веб-просмотр

.......

if metadataObj.type == AVMetadataObjectTypeQRCode {
let barCodeObject = videoPreviewLayer?.transformedMetadataObjectForMetadataObject(metadataObj as AVMetadataMachineReadableCodeObject) as! AVMetadataMachineReadableCodeObject

qrCodeFrameView?.frame = barCodeObject.bounds;

if metadataObj.stringValue != nil {
  messageLabel.text = metadataObj.stringValue
    //if the result is url...
    UIApplication.sharedApplication().openURL(NSURL(string: metadataObj.stringValue)!)

  }
}

2 ответа

Предполагая, что вы переходите от контроллера представления QR к контроллеру представления веб-представлений, используйте метод подготовки к переходу, чтобы передать ссылку на следующее представление.

Добавьте это к контроллеру представления QR

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {

    // Create a variable that you want to send
    var QRLink = self.QRLink

    // Create a new variable to store the instance of PlayerTableViewController
    let destinationVC = segue.destinationViewController as VViewController
    destinationVC.QRLink = QRLink
}

Не забывайте, вам также нужно добавить переменную в контроллере webviews для хранения QR-ссылки.

VVCiewcontroller.swift

  import UIKit
class VViewController: UIViewController {

private var QRLink: String

 @IBOutlet weak var WWebView: UIWebView!

 var QRLink:String!



 override func viewDidLoad() {
    super.viewDidLoad()



    var url = NSURL(string: QRLink)
    var request = NSURLRequest(URL: url!)

    WWebView.loadRequest(request)
  }

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

  }
@IBAction func goBack(sender: AnyObject) {
    self.dismissViewControllerAnimated(true, completion: nil)
  }
}

Я предполагаю, что вы можете извлечь строку из функции чтения кода qr, а также что у вас есть веб-просмотр, поэтому попробуйте это:

        let request = NSURLRequest(URL: "THE URL FROM QRCode")
        wvScreen.loadRequest(request)
Другие вопросы по тегам