美文网首页iOS知识集iOS DeveloperiOS学习
iOS自定义扫描界面之BMScan

iOS自定义扫描界面之BMScan

作者: liangdahong | 来源:发表于2017-05-17 09:12 被阅读35次

    BMScan

    对系统扫描功能的封装,集成了扫描相关 UI 和自定义识别区域等功能,最简单的使用需要继承于 BMScanController 或者 BMScanDefaultCotroller即可。

    功能描述

    1. 扫描二维码/条形码
    2. 自定义扫描UI(半透明区域,扫描脚UI,扫描线,扫描动画)均可自定义修改参数
    3. 敏感区域自定义
    4. 闪光灯
    5. 识别相册图片中的二维码
    6. 识别图片中的二维码
    7. 扫描成功语音和震动提示
    8. 双击拉近镜头(待加入)
    9. 生成功二维码/条形码(待加入)
    10. ...

    效果图






    其中半透明区域颜色扫描区域尺寸和位置扫描区域4脚的颜色扫描线条的颜色和样式均可以自定义。

    CocoaPods

    CocoaPods is the recommended way to add BMScan to your project.
    Add a pod entry for BMScan to your Podfile.

    pod 'BMScan', '~> 0.1.7'
    

    Second, install BMScan into your project:

    pod install
    

    使用说明

    说明

    API说明

    扫描到内容时

    /**
     扫描到内容时回调
     */
    - (void)scanCaptureWithValueString:(NSString *)valueString NS_REQUIRES_SUPER;
    

    扫描控制

    /**
     开始扫描
     */
    - (void)startScanning NS_REQUIRES_SUPER;
    
    /**
     结束扫描
     */
    - (void)closureScanning NS_REQUIRES_SUPER;
    

    自定义透明扫描区域

    /**
     扫描区域 X 值
     */
    - (CGFloat)areaX;
    
    /**
     扫描区域 Y 值
     */
    - (CGFloat)areaY;
    
    /**
     扫描区域 Width 值
     */
    - (CGFloat)areaWidth;
    
    /**
     扫描区域 Height 值
     */
    - (CGFloat)areaXHeight;
    

    标题距扫描区域的距离

    /**
     标题距扫描区域的距离
     */
    - (CGFloat)areaTitleDistanceHeight;
    

    非扫描区域的颜色(半透明区域)

    /**
     非扫描区域的颜色
     */
    - (UIColor *)areaColor;
    

    4个拐脚的颜色

    /**
     脚颜色
     */
    - (UIColor *)feetColor;
    

    4个拐脚的颜色分别自定义

    /**
     左上脚颜色
     */
    - (UIColor *)leftTopColor;
    
    /**
     左下脚颜色
     */
    - (UIColor *)leftBottonColor;
    
    /**
     右上脚颜色
     */
    - (UIColor *)rightTop;
    
    /**
     右下脚颜色
     */
    - (UIColor *)rightBotton;
    

    扫描线颜色

    /**
     扫描线条颜色
    
     @param scanController 扫描控制器
     @return 颜色值
     */
    - (UIColor *)scanfLinInscanController:(BMScanController *)scanController;
    

    扫描条动画

    /**
     扫描线条动画
     */
    - (BMScanLinViewAnimation)scanLinViewAnimation;
    

    扫描条类型

    /**
     扫描线条类型
     */
    - (BMScanLin)scanLin;
    

    可识别区域

    设置可识别区域

    如果继承于BMScanDefaultCotroller不需要考虑,内部会由扫描区域来确定可识别区域,如果有特殊要求可才重写如下方法

    /**
     设置可以识别区域
     */
    - (CGRect)rectOfInterest;
    
    动画时间
    /**
    动画时间
    */
    - (CFTimeInterval)animationDuration;
    
    是否隐藏闪光灯按钮 默认打开
    /**
    是否隐藏闪光灯按钮 默认打开
    */
    - (BOOL)hidenLightButton;
    
    刷新可识区域
    /**
     刷新可识区域
     */
    - (void)updateRectOfInterest;
    
    刷新扫描UI
    /**
     刷新扫描UI
     */
    - (void)updateScanUI;
    

    方法预览

    Contacts

    项目中示例代码暂未处理,只是简单的实现了部分演示,感谢Color-Picker-for-iOS

    Sina : @梁大红
    blog : idhong
    github:github

    相关文章

      网友评论

        本文标题:iOS自定义扫描界面之BMScan

        本文链接:https://www.haomeiwen.com/subject/alorxxtx.html