【问题标题】:load qr code link in UIwebview swift iOS在 UIwebview swift iOS 中加载二维码链接
【发布时间】:2016-05-24 13:43:36
【问题描述】:

大家好,我有一个 webview VViewController.swift 和 QRCode Scanner QRRViewController.swift 如果 QR 码的 url 直接指向 web 视图而不是 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 喜欢这样 此代码将二维码 URL 加载到 Safari 而不是网页视图

.......

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)!)

  }
}

【问题讨论】:

    标签: ios xcode swift uiwebview qr-code


    【解决方案1】:

    假设您从 QR 视图控制器移动到 Web 视图视图控制器,请使用 prepare for segue 方法将链接传递到下一个视图。

    将此添加到 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 控制器中添加变量来存储二维码链接。

    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)
      }
    }
    

    【讨论】:

    • 我整理了所有东西,但我在 Xcode 中很新,您是否知道 github 或某处类似的示例,非常感谢您的回答
    【解决方案2】:

    我假设您能够从您的二维码阅读器功能中检索字符串, ,你也有一个 webview,所以试试这个:

            let request = NSURLRequest(URL: "THE URL FROM QRCode")
            wvScreen.loadRequest(request)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多