大家好,我有一个 webview VViewController.swift 和 QRCode Scanner QRRViewController.swift 如果 QR 码的 URL 直接指向 Web View 而不是 Safari,如何加载 QR 码?
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 看起来像这样 此代码将 Qr 代码 URL 加载到 safari 而不是 Web View
......
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)!)
}
}
最佳答案
假设您从 QR View Controller 移动到 Web View View Controller ,请使用prepare for segue 方法将链接传递到下一个 View 。
将其添加到 QR View Controller
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 Controller 中添加变量来存储 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)
}
}
关于ios - 在 UIwebview swift iOS 中加载二维码链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415481/