ios - 在 UIwebview swift iOS 中加载二维码链接

标签 ios xcode swift uiwebview qr-code

大家好,我有一个 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/

相关文章:

iphone - iOS 网络表单属性

ios - 来自 iOS 的 Instagram 签名 API 调用

ios - 由于代码签名错误而终止

swift - 在 Swift 中,单例和类的静态版本有什么区别?

ios - 在 Spritekit 中添加音效

iOS 模拟器 (Xcode 4.2)

ios - 在 Swift 3 中连接转换动画?怎么了?

objective-c - iOS:XCode 4.5:xcodebuild 错误 - fatal error :找不到 'UIKit/UIKit.h' 文件

swift - 我想将 RawRepresentable 的 rawValue 作为 Any 返回,但我只将它作为 Any 接收

ios - Swift 中 NSTimer 的问题