带有扫描指示器的条形码阅读器

布普什

我想使用带有扫描指示器的条形码读取器。谁能告诉我我需要使用哪个条形码SDK。目前我正在使用zbar sdk。在zbar中,我们没有扫描指示器。请查看我要实现的屏幕截图

在此处输入图片说明

泰坦

制作了@rgkobashi答案的增强版,以尝试创建正方形并为正方形内的指示器线设置动画。

扫描指示器和动画代码如下:

 func createScanningIndicator() {
    
    let height: CGFloat = 15
    let opacity: Float = 0.4
    let topColor = UIColor.green.withAlphaComponent(0)
    let bottomColor = UIColor.green

    let layer = CAGradientLayer()
    layer.colors = [topColor.cgColor, bottomColor.cgColor]
    layer.opacity = opacity
    
    let squareWidth = view.frame.width * 0.6
    let xOffset = view.frame.width * 0.2
    let yOffset = view.frame.midY - (squareWidth / 2)
    layer.frame = CGRect(x: xOffset, y: yOffset, width: squareWidth, height: height)
    
    self.view.layer.insertSublayer(layer, at: 0)

    let initialYPosition = layer.position.y
    let finalYPosition = initialYPosition + squareWidth - height
    let duration: CFTimeInterval = 2

    let animation = CABasicAnimation(keyPath: "position.y")
    animation.fromValue = initialYPosition as NSNumber
    animation.toValue = finalYPosition as NSNumber
    animation.duration = duration
    animation.repeatCount = .infinity
    animation.isRemovedOnCompletion = false
    
    layer.add(animation, forKey: nil)
}

扫描方形如下:

func createScanningFrame() {
            
    let lineLength: CGFloat = 15
    let squareWidth = view.frame.width * 0.6
    let topLeftPosX = view.frame.width * 0.2
    let topLeftPosY = view.frame.midY - (squareWidth / 2)
    let btmLeftPosY = view.frame.midY + (squareWidth / 2)
    let btmRightPosX = view.frame.midX + (squareWidth / 2)
    let topRightPosX = view.frame.width * 0.8
    
    let path = UIBezierPath()
    
    //top left
    path.move(to: CGPoint(x: topLeftPosX, y: topLeftPosY + lineLength))
    path.addLine(to: CGPoint(x: topLeftPosX, y: topLeftPosY))
    path.addLine(to: CGPoint(x: topLeftPosX + lineLength, y: topLeftPosY))

    //bottom left
    path.move(to: CGPoint(x: topLeftPosX, y: btmLeftPosY - lineLength))
    path.addLine(to: CGPoint(x: topLeftPosX, y: btmLeftPosY))
    path.addLine(to: CGPoint(x: topLeftPosX + lineLength, y: btmLeftPosY))

    //bottom right
    path.move(to: CGPoint(x: btmRightPosX - lineLength, y: btmLeftPosY))
    path.addLine(to: CGPoint(x: btmRightPosX, y: btmLeftPosY))
    path.addLine(to: CGPoint(x: btmRightPosX, y: btmLeftPosY - lineLength))

    //top right
    path.move(to: CGPoint(x: topRightPosX, y: topLeftPosY + lineLength))
    path.addLine(to: CGPoint(x: topRightPosX, y: topLeftPosY))
    path.addLine(to: CGPoint(x: topRightPosX - lineLength, y: topLeftPosY))
    
    let shape = CAShapeLayer()
    shape.path = path.cgPath
    shape.strokeColor = UIColor.white.cgColor
    shape.lineWidth = 3
    shape.fillColor = UIColor.clear.cgColor
    
    self.view.layer.insertSublayer(shape, at: 0)
}

结果如下图: 在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有扫描指示器的条形码阅读器

来自分类Dev

在Android应用中使用zxing扫描条形码阅读器数据

来自分类Dev

检测条形码扫描仪(阅读器)javascript填充的文本

来自分类Dev

读取条形码阅读器发送的控制代码

来自分类Dev

实施条形码阅读器教程

来自分类Dev

从条形码阅读器中如何使用textChanged事件

来自分类Dev

从条形码阅读器中如何使用textChanged事件

来自分类Dev

Visual FoxPro 9 Grid:如何使用条形码阅读器模拟向下箭头

来自分类Dev

使用条形码阅读器C#.NET解码非英语文本

来自分类Dev

如何在 c# windows 应用程序中使用条形码阅读器?

来自分类Dev

如何将条形码阅读器添加到Rails 3.2应用程序中

来自分类Dev

如何将条形码阅读器添加到Rails 3.2应用程序中

来自分类Dev

jQuery使用条形码阅读器切换到下一个字段

来自分类Dev

缓冲条形码扫描器的击键

来自分类Dev

浏览器的QR /条形码扫描仪

来自分类Dev

条形码扫描损坏

来自分类Dev

条形码扫描器在html字段中输入的文本缓慢

来自分类Dev

使用OPPO CPH1923设备的条形码检测器扫描QR码

来自分类Dev

使用前置摄像头的dm77中的条形码扫描器库

来自分类Dev

运行xorg和evdev时的条形码扫描器输入

来自分类Dev

Ionic iOS如何实现条形码和QRCode扫描器

来自分类Dev

从条形码扫描仪Wedge,Simulation到AJAX服务器端获取扫描数据

来自分类Dev

我想在我的Java代码中使用ZBar条形码阅读器的zbarimg.exe,当我编译程序时,一个窗口突然弹出并消失了几秒钟

来自分类Dev

从带有TC55蓝牙配对的RS507环形扫描仪读取条形码

来自分类Dev

Javascript:如何最好地阅读手持式条形码扫描仪?

来自分类Dev

尝试从移动设备扫描条形码时,“ Chrome浏览器中不支持Media Stream API” [vue]

来自分类Dev

在WebView Android中扫描条形码

来自分类Dev

如何模拟条形码扫描事件

来自分类Dev

从移动网站扫描条形码?

Related 相关文章

  1. 1

    带有扫描指示器的条形码阅读器

  2. 2

    在Android应用中使用zxing扫描条形码阅读器数据

  3. 3

    检测条形码扫描仪(阅读器)javascript填充的文本

  4. 4

    读取条形码阅读器发送的控制代码

  5. 5

    实施条形码阅读器教程

  6. 6

    从条形码阅读器中如何使用textChanged事件

  7. 7

    从条形码阅读器中如何使用textChanged事件

  8. 8

    Visual FoxPro 9 Grid:如何使用条形码阅读器模拟向下箭头

  9. 9

    使用条形码阅读器C#.NET解码非英语文本

  10. 10

    如何在 c# windows 应用程序中使用条形码阅读器?

  11. 11

    如何将条形码阅读器添加到Rails 3.2应用程序中

  12. 12

    如何将条形码阅读器添加到Rails 3.2应用程序中

  13. 13

    jQuery使用条形码阅读器切换到下一个字段

  14. 14

    缓冲条形码扫描器的击键

  15. 15

    浏览器的QR /条形码扫描仪

  16. 16

    条形码扫描损坏

  17. 17

    条形码扫描器在html字段中输入的文本缓慢

  18. 18

    使用OPPO CPH1923设备的条形码检测器扫描QR码

  19. 19

    使用前置摄像头的dm77中的条形码扫描器库

  20. 20

    运行xorg和evdev时的条形码扫描器输入

  21. 21

    Ionic iOS如何实现条形码和QRCode扫描器

  22. 22

    从条形码扫描仪Wedge,Simulation到AJAX服务器端获取扫描数据

  23. 23

    我想在我的Java代码中使用ZBar条形码阅读器的zbarimg.exe,当我编译程序时,一个窗口突然弹出并消失了几秒钟

  24. 24

    从带有TC55蓝牙配对的RS507环形扫描仪读取条形码

  25. 25

    Javascript:如何最好地阅读手持式条形码扫描仪?

  26. 26

    尝试从移动设备扫描条形码时,“ Chrome浏览器中不支持Media Stream API” [vue]

  27. 27

    在WebView Android中扫描条形码

  28. 28

    如何模拟条形码扫描事件

  29. 29

    从移动网站扫描条形码?

热门标签

归档