前沿
* v2.0 采用的是繼承,只需接收通知(拿到數(shù)據(jù)做處理)即可节吮,如果你想使用繼承,那么可在 releases 中下載 v2.0 版本透绩;最新的版本采用封裝思想(由于 v2.0 采用的繼承壁熄,代碼耦合性比較高且設(shè)備輸入流、數(shù)據(jù)輸出流草丧、會話對象、預(yù)覽圖層及代理方法全部寫在控制器中昌执,造成了代碼的可讀性較差)
主要內(nèi)容的介紹
* `普通二維碼生成`
* `彩色二維碼生成`
* `帶有小圖標(biāo)二維碼生成`
* `掃描二維碼的自定義`
* `是否開啟閃光燈`
* `從相冊中獲取二維碼`
* `掃描成功之后提示音`
* `掃描成功之后的界面之間的跳轉(zhuǎn)`
* `掃描二維碼界面采取了微信二維碼界面的布局`
?SGQRCode 集成
* 1、CocoaPods 導(dǎo)入 pod 'SGQRCode'
* 2煤禽、下載、拖拽 “SGQRCode” 文件夾到工程中
?代碼介紹 (詳細(xì)使用呜师,請參考 Demo)
1贾节、在 info.plist 中添加以下字段
* `NSCameraUsageDescription (相機(jī)權(quán)限訪問)`
* `NSPhotoLibraryUsageDescription (相冊權(quán)限訪問)`
?2、二維碼生成
* 普通二維碼生成
imageView.image = [SGQRCodeGenerateManager SG_generateWithDefaultQRCodeData:@"https://github.com/kingsic" imageViewWidth:imageViewW];
* logo 二維碼生成
imageView.image = [SGQRCodeGenerateManager SG_generateWithLogoQRCodeData:@"https://github.com/kingsic" logoImageName:@"icon_image" logoScaleToSuperView:scale];
* 彩色二維碼生成
imageView.image = [SGQRCodeGenerateManager SG_generateWithColorQRCodeData:@"https://github.com/kingsic" backgroundColor:[CIColor colorWithRed:1 green:0 blue:0.8] mainColor:[CIColor colorWithRed:0.3 green:0.2 blue:0.4]];
#### 3知牌、二維碼掃描
- (void)viewDidLoad {
[super viewDidLoad];
/// 掃描二維碼創(chuàng)建
SGQRCodeScanManager *scanManager = [SGQRCodeScanManager sharedManager];
NSArray *arr = @[AVMetadataObjectTypeQRCode, AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeCode128Code];
// AVCaptureSessionPreset1920x1080 推薦使用,對于小型的二維碼讀取率較高
[scanManager SG_setupSessionPreset:AVCaptureSessionPreset1920x1080 metadataObjectTypes:arr currentController:self];
scanManager.delegate = self;
/// 從相冊中讀取二維碼方法
SGQRCodeAlbumManager *albumManager = [SGQRCodeAlbumManager sharedManager];
[albumManager SG_readQRCodeFromAlbumWithCurrentController:self];
albumManager.delegate = self;
}
* * 掃面二維碼的代理方法
/// 二維碼掃描獲取數(shù)據(jù)的回調(diào)方法
- (void)QRCodeScanManager:(SGQRCodeScanManager *)scanManager didOutputMetadataObjects:(NSArray *)metadataObjects角寸;
* * 從相冊中讀取二維碼的代理方法
/// 圖片選擇控制器取消按鈕的點(diǎn)擊回調(diào)方法
- (void)QRCodeAlbumManagerDidCancelWithImagePickerController:(SGQRCodeAlbumManager *)albumManager忿墅;
/// 圖片選擇控制器選取圖片完成之后的回調(diào)方法
- (void)QRCodeAlbumManager:(SGQRCodeAlbumManager *)albumManager didFinishPickingMediaWithResult:(NSString *)result;
```
代碼介紹(這里主要介紹掃描二維碼里的主要代碼)
* 二維碼掃描界面創(chuàng)建
效果圖如下: