- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我要扫描 webView
中的 QR code
。
二维码
扫描效果好,可以读取数据,
但问题是,扫描后相机屏幕不会关闭。我正在运行一个 dismiss()
函数。
webView 加载
@IBOutlet weak var indicator: UIImageView!
@IBOutlet var wkWebView: WKWebView!
...
let config = WKWebViewConfiguration()
contentController.add(self, name: "native")
config.userContentController = contentController
wkWebView = WKWebView(frame: wkWebView.frame, configuration: config)
wkWebView.uiDelegate = self
wkWebView.navigationDelegate = self
view.addSubview(wkWebView)
view.addSubview(indicator)
let localFilePath = Bundle.main.url(forResource: webUrl, withExtension: "html")
let myRequest = URLRequest(url: localFilePath)
wkWebView.load(myRequest)
二维码扫描
var captureSession: AVCaptureSession!
var previewLayer: AVCaptureVideoPreviewLayer!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if (captureSession?.isRunning == false) {
captureSession.startRunning()
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
if (captureSession?.isRunning == true) {
captureSession.stopRunning()
}
}
func qrcodeScan(){
view.backgroundColor = UIColor.black
captureSession = AVCaptureSession()
guard let videoCaptureDevice = AVCaptureDevice.default(for: .video) else { return }
let videoInput: AVCaptureDeviceInput
do {
videoInput = try AVCaptureDeviceInput(device: videoCaptureDevice)
} catch {
return
}
if (captureSession.canAddInput(videoInput)) {
captureSession.addInput(videoInput)
} else {
failed()
return
}
let metadataOutput = AVCaptureMetadataOutput()
if (captureSession.canAddOutput(metadataOutput)) {
captureSession.addOutput(metadataOutput)
metadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
metadataOutput.metadataObjectTypes = [.qr]
} else {
failed()
return
}
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.frame = view.layer.bounds
previewLayer.videoGravity = .resizeAspectFill
view.layer.addSublayer(previewLayer)
captureSession.startRunning()
}
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
captureSession.stopRunning()
if let metadataObject = metadataObjects.first {
guard let readableObject = metadataObject as? AVMetadataMachineReadableCodeObject else { return }
guard let stringValue = readableObject.stringValue else { return }
AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
found(code: stringValue)
}
self.dismiss(animated: true, completion: nil)
}
func found(code: String) {
Log.Info(code)
}
func failed() {
captureSession = nil
}
override var prefersStatusBarHidden: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
正如您从我的代码中看到的那样,我试图在读取QR 码
后将摄像头窗口放下。
但相机屏幕仍然在卡住屏幕上。无论我等多久,我都看不到 WebView 屏幕。有什么问题?
最佳答案
previewLayer
占据了所有屏幕(边界)并且它隐藏了 webview,因此您应该从 super 层中删除 previewLayer
以显示 webview .
所以解决方案是使用这个:
previewLayer.removeFromSuperlayer()
代替
self.dismiss(动画:true,完成:nil)
关于ios - QRcode 扫描后我的解雇不起作用怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58603707/
我想,我使用 qrcode 库成功生成了代码。当我运行该命令时,它不会抛出任何错误。现在如何将文件另存为 .png? 这是我到目前为止的代码: import qrcode qr = qrcode.QR
我要扫描 webView 中的 QR code。 二维码扫描效果好,可以读取数据, 但问题是,扫描后相机屏幕不会关闭。我正在运行一个 dismiss() 函数。 webView 加载 @IBOutle
我正在使用 QRCode api 发现 here 我成功通过Api实现了QRCode生成,但结果是这样的 (我将颜色从白色更改为黄色以提出问题) 所以,现在如果你发现外边界很厚,我希望它变薄.....
(正如 George Stocker 在评论中所建议的,我已经编辑了这个问题,现在它是关于 angular-qrcode 而不是 QRCode.js。) 我正在尝试使用 angular-qrcode在
我正在尝试生成 UTF-8 QRCode,以便可以重新编码重音符号和 Unicode 字符。 为了测试它,我使用了许多解码解决方案: http://zxing.org/w/decode.jspx -
我正在开发一个项目,该项目涉及将图像文件作为桌面上的输入,然后检测和解码存在的所有条形码(一维和二维)。 我一直在使用 zxing,在 GenericMultipleBarcodeReader 的帮助
我正在尝试生成包含多个字符串的 QRCode。它正在工作,但是生成的图像 QRCode 在 imageView 中太小,因此无法读取它(至少我认为这就是为什么我无法从中获取信息的原因)。 它是这样的:
我正在尝试构建一个可以通过扫描二维码来识别用户的应用程序。为此,我想使用主键作为标识符。由于整数的字符长度较短,因此作为二维码不太好看。 所以我的问题是:是否可以将 int 转换为长度超过 10-12
我正在尝试使用 CIDetector 从 UIImage 中检测 QRCode,以便从中提取 messageString。 我有一个基本上接收 UIImage 作为输入并返回解码的 messageSt
我花了很多时间试图诊断这个问题,但我完全卡住了,也许我遗漏了一些非常明显的东西。 已经尝试过: 将返回的图像保存到磁盘以查看它是否正在生成正确地(它是) 添加彩色背景呈现正方形,因此正在加载某些内容
我在 C# 中使用此代码解码(不检测)QRCode,它有效: LuminanceSource ls = new RGBLuminanceSource(image, image.Width, image
同时将 python 库 qrcode==6.1 与 django==3.1.2 集成。我一直在尝试生成一个二维码,其中将包含我其他网站的 URL 链接。 模型.py from django.db i
我想在我的 Laravel 4.1 应用程序中使用二维码生成器。我目前正在选择 https://github.com/endroid/QrCode和 https://github.com/endroi
使用 PHP QrCode 库后,我发现由于某种原因,当使用带有脚本和对话框 (JQuery) 的动态页面时,当我尝试以 .png 格式输出二维码时,我得到了奇怪的符号而不是实际生成的 .png 文件
有人知道一个可以让我在我的应用程序中扫描二维码的好包吗?我不想强制用户下载第三方应用来读取二维码。 最佳答案 我可以推荐react-native-camera用于条形码和二维码扫描 关于react-n
我启动了一个全新的 grails 2.2 应用程序。我想添加 qrcode 插件。 https://plugins.grails.org/plugin/technipelago/qrcode 文档说
使用以下库: qrgen-1.2、zxing-core-1.7 和 zxing-j2se-1.7 我生成了QRCode: ByteArrayOutputStream out = QRCode.
是否有任何免费的在线资源解释如何对这些条形码进行编码? 最佳答案 这个页面应该解释编码算法: https://web.archive.org/web/20100830111303/https://ww
我正在尝试创建一个 JSON 字符串,然后使用 vue-qrcode-component 将其转换为 QRCode。这是我创建字符串的地方: this.qrCode = "{‘type’:’seria
我试图让我的应用程序的用户能够从他们的库中获取图像并扫描其中的 QRCode。相关代码如下: 这是从图像选择器返回所选图像的函数。 func imagePickerController(picker:
我是一名优秀的程序员,十分优秀!