Latest 0.0.3
Homepage https://github.com/asiosldh/BMScan
License MIT
Platforms ios 8.0, requires ARC
Authors

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

待加入的功能

  • 图片中的二维码识别
  • 生成功二维码
  • 如果您认为有必要的功能,欢迎提出

Version
License
Platform
Support
Weibo
GitHub stars

效果图






其中半透明区域颜色扫描区域尺寸和位置扫描区域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.0.3'

Second, install BMScan into your project:

pod install

使用说明

只需要扫描功能

  • 创建扫描控制器继承于 BMScanController
  • 配置 BMScanDelegate 代理
  • 当扫描到内容时回会触发下面的代理方法
- (void)scanController:(BMScanController *)scanController captureWithValueString:(NSString *)valueString;
  • 如果想在开始扫描和结束扫描时做额外的操作可以重写下面的方法,需要先调用 super,已用NS_REQUIRES_SUPER修饰
/**
 开始扫描
 */
- (void)startScanning NS_REQUIRES_SUPER;

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

自定义扫描 UI

  • 如果需要自定义扫描UI,扫描动画可以继承于 BMScanDefaultCotroller可轻松实现常见功能,也可以完全继于BMScanDelegate自行实现
  • 创建扫描控制器继承于 BMScanDefaultCotroller
  • 配置 BMScanDelegateBMScanDefaultDataSource 代理
  • 参考代理中的方法实现相关功能即可
  • 自定义透明扫描区域

    
    /**
    扫描区域 X 值
    
    @param scanController 扫描控制器
    @return X 值
    */
  • (CGFloat)areaXInscanController:(BMScanController *)scanController;

/**
扫描区域 Y 值

@param scanController 扫描控制器
@return Y 值
*/

  • (CGFloat)areaYInscanController:(BMScanController *)scanController;

/**
扫描区域 Width 值

@param scanController 扫描控制器
@return Width 值
*/

  • (CGFloat)areaWidthInscanController:(BMScanController *)scanController;

/**
扫描区域 Height 值

@param scanController 扫描控制器
@return Height 值
*/

  • (CGFloat)areaXHeightInscanController:(BMScanController *)scanController;

标题距扫描区域的距离

/**
 标题距扫描区域的距离

 @param scanController 扫描控制器
 @return 距离
 */
- (CGFloat)areaTitleDistanceHeightInscanController:(BMScanController *)scanController;

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

/**
 标题距扫描区域的距离

 @param scanController 扫描控制器
 @return 距离
 */
- (CGFloat)areaTitleDistanceHeightInscanController:(BMScanController *)scanController;

4个拐脚的颜色

/**
 脚颜色

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

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

/**
 左上脚颜色

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

/**
 左下脚颜色

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

/**
 右上脚颜色

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

/**
 右下脚颜色

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

扫描线颜色

/**
 扫描线条颜色

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

扫描条动画

待补充更多样式和自定义样式

/**
 扫描线条动画

 @param scanController 扫描控制器
 @return 动画值
 */
- (BMScanLinViewAnimation)scanLinViewAnimationInscanController:(BMScanController *)scanController;

扫描线条类型

/**
 扫描线条类型

 @param scanController 扫描控制器
 @return 扫描线条类型
 */
- (BMScanLin)scanLinInscanController:(BMScanController *)scanController;

可识别区域

可以继于BMScanDefaultCotroller不需要考虑,内部会有扫描区域来确定可识别区域,如果有特殊要求可实现BMScanDataSource协议的如下方法即可

/**
 设置可以识别区域

 @param scanController 扫描控制器
 @return 可识别区域
 */
- (CGRect)rectOfInterestInScanController:(BMScanController *)scanController;

方法预览

Contacts

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

Sina : @梁大红
blog : @idhong
有任何问题可与我联系

License

BMScan is released under the MIT license.

Latest podspec

{
    "name": "BMScan",
    "version": "0.0.3",
    "summary": "u4e00u6b3eu5bf9u539fu59cbu4e8cu7ef4u7801u626bu63cfu7684u5c01u88c5,u81eau5b9au4e49u626bu63cf UI,u4f7fu7528u534fu8baeu914du7f6e",
    "homepage": "https://github.com/asiosldh/BMScan",
    "license": "MIT",
    "authors": {
        "asiosldh": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/asiosldh/BMScan.git",
        "tag": "0.0.3"
    },
    "source_files": "BMScanDemo/BMScan/**/*.{h,m}",
    "resources": "BMScanDemo/BMScan/BMScan.bundle",
    "requires_arc": true
}

Pin It on Pinterest

Share This