【问题标题】:Paste String Data from UIPastboard从 UIPastboard 粘贴字符串数据
【发布时间】:2018-07-16 01:17:16
【问题描述】:

我做了一个 IOS 应用,使用 OCR 扫描条形码并将数据复制到 UserDefaults.standard.value(forKey: "barcodeId") as!收据中的字符串。我正在尝试自动填充从我设法将数据传递给元素 ID 的数据,但是使用 OCR 扫描的数据没有填充正确的值。以下来自控制台的信息。注意:我隐藏了 URL,因为它是一个私有 URL。 Optional(8.906010283900207e+17) 是我需要传递给基于 Web 表单上的元素 ID 的内容。

谢谢!

Error Domain=WKErrorDomain Code=4 "发生 JavaScript 异常" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: null 不是对象(评估 'document.getElementById('ERECEIPT').value = 0890601028390020718'), WKJavaScriptExceptionColumnNumber=36, WKJavaScriptExceptionSourceURL=https://google.com, NSLocalizedDescription=发生 JavaScript 异常} 可选(8.906010283900207e+17)

谢谢!

【问题讨论】:

  • 你有没有添加到 bundle 中的基于 Web 的静态表单?还是动态表单网址?
  • 不,我没有,我是一个相当新的开发者。那么,您能否详细说明我如何做到这一点?
  • 请注意,如果您使用的是 Swift 4 (Xcode 9.x),您的方法签名是错误的。 func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
  • 谢谢,@LeoDabus 你能给我举个例子,说明如何在表单上自动填充扫描的值吗?
  • @Tiktak132 对不起,伙计,考虑到您没有显示任何与基于 Web 的表单相关的代码,我不知道您所说的“自动填充表单上的扫描值”是什么意思。跨度>

标签: ios swift nsstring avfoundation


【解决方案1】:

当您完成条形码扫描后,主要有两个数据到达,一个是条形码类型,第二个是您扫描的数据。确保粘贴时是有效的字符串数据,然后编写以下代码复制该条形码数据

UIPasteboard.general.string = barcodeData.

然后在粘贴这些数据时,编写如下代码:

if let barcodeData = UIPasteboard.general.string { your code here }

【讨论】:

  • 谢谢保罗!我会在大括号之间放什么代码?
  • 这段代码需要写在webViewDidFinishLoad方法中。在这个花括号内替换您的 html 表单中的条形码数据。
  • 感谢@Mahipal Singh 编辑答案和格式化代码。
  • 我的表单是 URL 请求,我将如何格式化它以填充表单上的某个字段?非常感谢您的帮助!
  • 是的,你的 html 表单中应该有一个字段来替换这个值。即#barcodedat#,所以,首先从url获取html字符串并替换你的条形码数据,然后在webview中加载你的html字符串。这适用于静态 HTML 表单。但是,如果您的表单有导航,则需要通过获取元素的 id 来替换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-01
  • 2014-12-26
  • 2020-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
相关资源
最近更新 更多