Загрузить 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)