zoukankan      html  css  js  c++  java
  • iOS- 详解如何使用ZBarSDK集成扫描二维码/条形码,点我!

    1.前言  

    目前市场主流APP里,二维码/条形码集成主要分两种表现形式来集成:
    a. 一种是调用手机摄像头并打开系统照相机全屏去拍摄
    b. 一种是自定义照相机视图的frame,自己控制并添加相关扫码指南
     
    今天我就用ZBarSDK来实现上诉两种主流集成方式,与大家共同交流学习/
     

    2.第一步导入ZBarSDK  

    可以从github上下载好ZBarSDK,导入项目,并且导入相关iOS.framework 如图:
     

    3.集成扫描二维码/条形码  

    3.1.调用手机摄像头并打开系统照相机全屏去拍摄  

    实现效果图: 1.一个按钮“扫我” —— 2.点击后打开系统照相机 —— 3.进入全屏拍摄,拍摄二维码 —— 4.识别成功自动关闭照相机

    3.1.1.导入#import “ZBarSDK.h" 然后实现相关协议  

    调用系统相机全屏拍摄,使用的协议是<ZBarReaderDelegate>,自定义相机窗口使用的是<ZBarReaderViewDelegate>

    3.1.2.在按钮“扫我”的click方法里实现相关细节  

        //初始化相机控制器
        ZBarReaderViewController *reader = [ZBarReaderViewController new];
    
        //设置代理
        reader.readerDelegate = self;
        //基本适配
        reader.supportedOrientationsMask = ZBarOrientationMaskAll;
       
        //二维码/条形码识别设置
        ZBarImageScanner *scanner = reader.scanner;
       
        [scanner setSymbology: ZBAR_I25
                       config: ZBAR_CFG_ENABLE
                           to: 0];
        //弹出系统照相机,全屏拍摄
        [self presentModalViewController: reader
                               animated: YES];
    

     3.1.3.实现代理方法  

    3.2.自定义照相机视图的frame,自己控制并添加相关扫码指南  

    3.2.1.导入#import “ZBarSDK.h" 然后实现相关协议  

     

    调用系统相机全屏拍摄,使用的协议是<ZBarReaderDelegate>,自定义相机窗口使用的是<ZBarReaderViewDelegate>
     

    3.2.2.在按钮“扫我”的click方法里实现相关细节  

         //初始化照相机窗口
        ZBarReaderView *readview = [ZBarReaderView new];
    
        //自定义大小
        readview.frame = CGRectMake(100, 100, 300, 300);
        //自定义添加相关指示.........发挥各自的APP的想象力
        //此处省略美化10000行代码...................
        //………………………..
        // 好进入正题—— 接着设置好代理
        readview.readerDelegate = self;
       
        //将其照相机拍摄视图添加到要显示的视图上
        [self.viewaddSubview:readview];
       
       
        //二维码/条形码识别设置
       ZBarImageScanner *scanner = readview.scanner;
       
       [scanner setSymbology: ZBAR_I25
                       config: ZBAR_CFG_ENABLE
                           to: 0];
    
       //启动,必须启动后,手机摄影头拍摄的即时图像菜可以显示在readview上
       [readview start];
    

     3.2.3.实现代理方法  

    作者: 清澈Saup
    出处: http://www.cnblogs.com/qingche/
    本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 相关阅读:
    Oracle11g 干净卸载
    linux中的帮助命令
    Linux Samba文件共享服务,安装与案例配置
    linux文件系统相关命令(df/du/fsck/dumpe2fs)
    虚拟机VMware下CentOS6.6安装教程图文详解
    vnc连接远端linux服务器
    mysql57重新安装后无法再次启动mysql57服务“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动。”--解决方法
    (二)分布式数据库tidb-事务
    Centos 6下使用cmake编译安装MariaDB
    MySQL数据库基本知识
  • 原文地址:https://www.cnblogs.com/qingche/p/4242129.html
Copyright © 2011-2022 走看看