亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS自帶二維碼掃描功能的實現

2019-11-14 18:06:46
字體:
來源:轉載
供稿:網友

#自從iOS7以后中新增了二維碼掃描功能。因此可以在不借助第三方類庫的情況下簡單的寫出二維碼的掃描功能;

原生的二維碼掃描功能在AVFoundation框架下,所以在使用原生的二維碼掃描功能時要先導入AVFoundation框架;

然后添加以下屬性:

<PRe><code>@property (strong,nonatomic) AVCaptureDevice *device;

@property (strong,nonatomic) AVCaptureDeviceInput *input;

@property (strong,nonatomic) AVCaptureMetadataOutput *output;

@property (strong,nonatomic) AVCapturesession *session;

@property (strong,nonatomic) AVCaptureVideoPreviewLayer *preview;</code></pre>

這里是對以上屬性的介紹

下面是對上面屬性的實例化:

self.device  = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    self.input   = [AVCaptureDeviceInput deviceInputWithDevice:self.device error:nil];

    self.output  = [[AVCaptureMetadataOutput alloc] init];

    [self.output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];

     self.session = [[AVCaptureSession alloc] init];

    [self.session setSessionPreset:AVCaptureSessionPresetHigh];

     if ([self.session canAddInput:self.input])

    {

        [self.session addInput:self.input];

    }

    if ([self.session canAddOutput:self.output])

    {

        [self.session addOutput:self.output];

    }

    // 掃碼類型

    self.output.metadataObjectTypes = @[AVMetadataObjectTypeQRCode];

    self.preview = [AVCaptureVideoPreviewLayer layerWithSession:self.session];

    self.preview.videoGravity = AVLayerVideoGravityResizeaspectFill;

    self.preview.frame = self.view.layer.bounds;

    [self.view.layer insertSublayer:self.preview atIndex:0];

     [self.session startRunning];

 

這兒是掃碼成功之后調用的代理方法

#pragma mark AVCaptureMetadataOutputObjectsDelegate

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection

{

    NSString *stringValue;

    if ([metadataObjects count] >0)

    {

        //停止掃描

        [_session stopRunning];

        AVMetadataMachineReadableCodeObject * metadataObject = [metadataObjects objectAtIndex:0];

        stringValue = metadataObject.stringValue;

    }

    NSLog(@" %@",stringValue);

    // 獲取到二維碼的數據之后的后續操作

}

 

 以上代碼基本上可以實現掃碼的功能了。但是怎么樣才能實現規定區域內的掃碼呢?這就需要用到之間創建的屬性 output ;output有一個屬性

 output.rectOfInterest 專門用來設置可掃碼的區域;

設置AVCaptureMetadataOutput的rectOfInterest的屬性,即可掃描區域:

這樣設置就可以:output.rectOfInterest = CGRectMake(y的起點/屏幕的高,x的起點/屏幕的寬,掃描的區域的高/屏幕的高,掃描的區域的寬/屏幕的寬);

 

掃描動畫的實現:不在多說

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲av一区二区| 国产精品av电影| 欧美成人在线影院| 高清欧美性猛交xxxx| 一区二区中文字幕| 97成人精品区在线播放| 欧美激情性做爰免费视频| 亚洲老板91色精品久久| 亚洲成人激情图| 国产精品欧美日韩一区二区| 欧美日韩成人黄色| 国产69久久精品成人看| 亚洲精品一区二区三区不| 欧美韩日一区二区| 久久躁日日躁aaaaxxxx| 国产日韩在线播放| 91欧美精品成人综合在线观看| 精品亚洲一区二区三区| 国产69精品久久久久9| 国产精品一区二区久久久久| 亚洲伊人第一页| 91在线视频免费| 狠狠色狠狠色综合日日五| 亚洲精品日韩av| 91亚洲午夜在线| 91天堂在线观看| 久久精品国产电影| 久久综合国产精品台湾中文娱乐网| 亚洲欧美综合另类中字| 亚洲www永久成人夜色| 日韩欧美综合在线视频| 久久久中文字幕| 国产精品电影在线观看| 色综合久久中文字幕综合网小说| 精品亚洲va在线va天堂资源站| 亚洲精品自拍第一页| 日本a级片电影一区二区| 午夜精品久久久久久久男人的天堂| 97av在线播放| 国产日韩在线免费| 国产999在线| 久久久之久亚州精品露出| 欧美成人免费在线观看| 98午夜经典影视| 91麻豆国产语对白在线观看| 欧美xxxx18性欧美| 一区二区欧美久久| 亚洲欧美第一页| 国产精品无码专区在线观看| 热草久综合在线| 91免费综合在线| 一本一道久久a久久精品逆3p| 亚洲最大成人免费视频| 国产精品无码专区在线观看| 久久成人在线视频| 欧美午夜久久久| 中文字幕欧美视频在线| 91精品国产九九九久久久亚洲| 欧洲亚洲在线视频| 26uuu亚洲国产精品| 一级做a爰片久久毛片美女图片| 色樱桃影院亚洲精品影院| 国产999精品| 深夜福利91大全| 国产精品一久久香蕉国产线看观看| 日韩经典一区二区三区| 欧美高清在线观看| 欧美在线免费视频| 欧美激情一区二区三区在线视频观看| 色噜噜狠狠色综合网图区| 91亚洲va在线va天堂va国| 日韩欧美在线看| 国产精品久久久久久久久久| 亚洲精品成人av| 日韩av大片免费看| 精品国产欧美一区二区三区成人| 色婷婷综合久久久久| 亚洲精品一区久久久久久| 久久99国产精品久久久久久久久| 欧美亚洲激情在线| 久久精品国产成人精品| 欧美精品国产精品日韩精品| 亚洲3p在线观看| 国产精品美女免费| 精品久久久一区二区| 精品在线观看国产| 欧美精品精品精品精品免费| 久久精品国产视频| 久久av在线播放| 日韩免费观看网站| 国产在线视频2019最新视频| 欧美黑人狂野猛交老妇| 国产亚洲a∨片在线观看| 欧美日韩黄色大片| 亚洲精品视频在线播放| 亚洲欧洲午夜一线一品| 精品美女永久免费视频| 国产精品伦子伦免费视频| 久久久久久免费精品| 日韩免费在线免费观看| 国外日韩电影在线观看| 日韩在线播放av| 国产精品爽黄69天堂a| 欧美电影在线观看完整版| 伊人伊人伊人久久| 国产色综合天天综合网| 日韩欧美在线视频| 国产精品视频免费观看www| 欧美一级黑人aaaaaaa做受| 久久久久国产精品免费| 久久69精品久久久久久国产越南| 成人两性免费视频| 亚洲va男人天堂| 亚洲精品xxxx| 精品久久久久久久久久久久久久| 亚洲欧美激情四射在线日| 91精品久久久久久久久青青| 久久夜精品香蕉| 成人写真视频福利网| 欧美激情一区二区三级高清视频| 亚洲欧美日韩图片| 97av视频在线| 美日韩精品免费观看视频| 久久精品中文字幕一区| 久久五月天综合| 日韩精品高清在线观看| 国产精品第2页| 在线日韩欧美视频| 色悠悠久久久久| 成人久久一区二区三区| 久久人人97超碰精品888| 亚洲第一福利网站| 69av成年福利视频| 国产精品美女午夜av| 77777少妇光屁股久久一区| 欧美综合国产精品久久丁香| 中文字幕自拍vr一区二区三区| 国产精品美女久久久久av超清| 91精品久久久久| 在线观看久久久久久| 色视频www在线播放国产成人| 久久综合免费视频| 国内精品模特av私拍在线观看| 国产精品久久二区| 26uuu亚洲伊人春色| 久久天天躁狠狠躁夜夜躁2014| 亚洲日韩中文字幕在线播放| 久久视频在线直播| 成人精品久久av网站| 亚洲毛茸茸少妇高潮呻吟| 亚洲一区二区久久久久久| 成人av.网址在线网站| 91精品国产乱码久久久久久蜜臀| 中文字幕亚洲一区二区三区五十路| 欧美成人午夜剧场免费观看| 亚洲最大av网| 亚洲国产第一页| 欧美成人第一页| 91精品中文在线| 国产不卡在线观看| 国产精品美女999| 亚洲天堂男人天堂女人天堂| 色哟哟网站入口亚洲精品| 亚洲欧美国产va在线影院|