iOS第三方框架二維碼生成與掃描
本文實(shí)例為大家分享了iOS第三方二維碼生成與掃描的具體代碼,供大家參考,具體內(nèi)容如下
導(dǎo)入第三方框架libqrencode(生成二維碼)和ZBarSDK(二維碼掃描)
導(dǎo)入頭文件
#import "QRCodeGenerator.h" #import "ZBarSDK.h"
創(chuàng)建兩個(gè)按鈕點(diǎn)擊事件
點(diǎn)擊按鈕一實(shí)現(xiàn)生成二維碼
- (IBAction)erWeiMaBtn1:(id)sender {
// 設(shè)置圖片框存放二維碼
UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake((self.view.frame.size.width - 200)/2, 100, 200, 200)];
// 展示到主視圖
[self.view addSubview:self.imgView];
// 利用第三方方法實(shí)現(xiàn)自己想要的二維碼
imgView.image = [QRCodeGenerator qrImageForString:@"傻子" imageSize:self.imgView.frame.size.width];
}
點(diǎn)擊按鈕二實(shí)現(xiàn)掃描二維碼
- (IBAction)erWeiMaBtn1:(id)sender {
//設(shè)置文本域(設(shè)置為全局)
_textView = [[UITextView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-300)/2, 430, 300, 300) textContainer:nil];
//設(shè)置背景顏色
_textView.backgroundColor = [UIColor blueColor];
//添加到主視圖
[self.view addSubview:self.textView];
ZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init];
reader.readerDelegate =self;
//隱藏底部控制按鈕
reader.showsZBarControls =YES;
//設(shè)置自己定義的界面
//reader.cameraOverlayView = someView;(這個(gè)視圖可以自己定義,當(dāng)然你也可以通過(guò)[reader.view addSubview:someView]的方式添加蒙版視圖,這樣可以做出自己想要的視圖效果)
//設(shè)置識(shí)別范圍(這里的4個(gè)參數(shù)都是視圖比例~~不要搞錯(cuò)奧(距離左邊的比例,距離上邊的比例,識(shí)別寬度的比例,識(shí)別高度的比例))
//reader.scanCrop =CGRectMake(0,0, 1,1);
//設(shè)置識(shí)別的參數(shù)
ZBarImageScanner *scanner = reader.scanner;
[scanner setSymbology:ZBAR_I25 //這個(gè)參數(shù)和to:后面的參數(shù)配合確定了識(shí)別的編碼范圍,根據(jù)需求調(diào)整,可以提高識(shí)別速度。
config:ZBAR_CFG_ENABLE
to:0];
[self presentViewController:reader animated:YES completion:nil];
}
//下面是委托方法
- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol =nil;
for(symbol in results)
break;
NSLog(@"%@",symbol.data);//打印識(shí)別的數(shù)據(jù)
//設(shè)置內(nèi)容
_textView.text = symbol.data;
//
[reader dismissModalViewControllerAnimated:YES];
}
注意:在info.plist中填入可用相機(jī)掃描的白名單!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS和Android用同一個(gè)二維碼實(shí)現(xiàn)跳轉(zhuǎn)下載鏈接的方法
- IOS生成與讀取二維碼名片
- iOS實(shí)現(xiàn)二維碼的掃描功能
- ios swift3.0實(shí)現(xiàn)二維碼掃描、生成、識(shí)別示例代碼
- IOS筆記061之二維碼的生成和掃描
- ios原生二維碼掃描
- iOS模仿微信長(zhǎng)按識(shí)別二維碼的多種方式
- iOS 條碼及二維碼掃描(從相冊(cè)中讀取條形碼/二維碼)及掃碼過(guò)程中遇到的坑
- iOS自帶原生二維碼掃描的實(shí)現(xiàn)
- iOS 原生實(shí)現(xiàn)掃描二維碼和條形碼功能限制掃描區(qū)域
相關(guān)文章
iOS長(zhǎng)按UIlabel實(shí)現(xiàn)可復(fù)制功能
在我們?nèi)粘5拈_(kāi)發(fā)中經(jīng)常會(huì)遇到一些小需求,比如需要長(zhǎng)按控件來(lái)拷貝控件中得內(nèi)容,所以這篇文章跟大家分享下iOS中長(zhǎng)按UIlabel實(shí)現(xiàn)可復(fù)制功能的方法,有需要的朋友們可以參考借鑒。2016-09-09
iOS 微信分享功能簡(jiǎn)單實(shí)現(xiàn)
本文介紹了iOS 微信分享功能的實(shí)現(xiàn)步驟與方法,具有一定的參考作用。下面跟著小編一起來(lái)看下吧2017-01-01
iOS中管理剪切板的UIPasteboard粘貼板類用法詳解
在iOS中,通過(guò)UITextField、UITextView和UIWebView剪切或復(fù)制的內(nèi)容都可以通過(guò)UIPasteboard類來(lái)管理粘貼操作,下面就為大家?guī)?lái)iOS中管理剪切板的UIPasteboard粘貼板類用法詳解:2016-06-06
iOS對(duì)數(shù)組進(jìn)行排序的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家講解了ios對(duì)數(shù)組進(jìn)行排序的實(shí)例方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-08-08
Objective-C中關(guān)于實(shí)例所占內(nèi)存的大小詳解
這篇文章主要給大家介紹了關(guān)于Objective-C中實(shí)例所占內(nèi)存的大小的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05

