Skip to content

OC版:iOS原生方法实现二维码生成与扫描

License

Notifications You must be signed in to change notification settings

James-oc/JMQRCode

Repository files navigation

OC版:iOS原生方法实现二维码生成与扫描(需要iOS8或更高版本)

功能

  • 生成普通或者彩色的二维码

  • 生成普通或者彩色并且带logo的二维码

  • 仿微信扫描二维码样式

  • 可控制是否开启闪光灯

  • 从相册中获取二维码

  • 可设置扫描样式中四个边角颜色

  • 可设置扫描样式中动画线条颜色和图片

代码

  • 普通二维码生成
UIImage *image = [JMGenerateQRCodeUtils jm_generateQRCodeWithString:@"https://github.com/James-swift/JMSQRCode.git" imageSize:<#Image_Size#>];

/// 带logo
UIImage *image = [JMGenerateQRCodeUtils jm_generateQRCodeWithString:@"https://github.com/James-swift/JMSQRCode.git" imageSize:<#Image_Size#> logoImageName:<#Logo_Name#> logoImageSize:<#Logo_Size#>];
  • 彩色二维码生成
UIImage *image = [JMGenerateQRCodeUtils jm_generateColorQRCodeWithString:@"https://github.com/James-swift/JMSQRCode.git" imageSize:<#Image_Size#> rgbColor:<#QRCode_rgbColor#> backgroundColor:<#QRCode_bgColor#>];

/// 带logo
UIImage *image = [JMGenerateQRCodeUtils jm_generateColorQRCodeWithString:@"https://github.com/James-swift/JMSQRCode.git" imageSize:<#Image_Size#> rgbColor:<#QRCode_rgbColor#> backgroundColor:<#QRCode_bgColor#> logoImageName:<#Logo_Name#> logoImageSize:<#Logo_Size#>];
  • 二维码扫描视图
JMScanningQRCodeView *qrView  = [[JMScanningQRCodeView alloc] initWithFrame:self.view.bounds];
qrView.qrLineImageName        = <#Line_Image_Name#>;
qrView.backgroundColor        = [UIColor clearColor];
qrView.scanningQRCodeResult   = ^(NSString *result) {
    NSLog(@"扫描结果:%@",result);
};

// 修改四个边角颜色
[qrView qrCornerLineColorWithRed:<#red#>
                           green:<#green#>
                            blue:<#blue#>
                           alpha:<#alpha#>];

[self.view addSubview:_qrView];

安装

  1. 将工程项目中的JMQRCode文件夹拉入自己的工程项目里面;
  2. import 文件并开始代码编写。

用CocoaPods安装

CocoaPods是OSX和iOS下的一个第三类库管理工具,如果你还未安装请先查看CocoaPods安装和使用教程

Podfile

pod 'JMQRCode', '~> 1.0.2'

执行命令

$ pod install

效果

联系方式

作者

James.xiao

About

OC版:iOS原生方法实现二维码生成与扫描

Resources

License

Stars

Watchers

Forks

Packages

No packages published