美文网首页
IOS-长按图片识别二维码

IOS-长按图片识别二维码

作者: DoubleMoonBird | 来源:发表于2018-01-09 17:13 被阅读0次

    前言

    项目中用到长按图片识别二维码,并跳转,看了一些网上的,然后自己把需要的拿出来分享一下

    下面是代码

        [_longPressGestureEWM addTarget:self action:@selector(dealLongPress:)];          [self getInfoRequest];

    #pragma mark->长按识别二维码

    -(void)dealLongPress:(UIGestureRecognizer*)gesture{    

    // 0.创建上下文    

    CIContext *context = [[CIContext alloc] init];         

    // 1.创建一个探测器    

    CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:context options:@{CIDetectorAccuracy: CIDetectorAccuracyLow}];         

    // 2.直接开始识别图片,获取图片特征    

    CIImage *imageCI = [[CIImage alloc] initWithImage:self.erweimaImageView.image];     NSArray *features = [detector featuresInImage:imageCI];    

    CIQRCodeFeature *codef = (CIQRCodeFeature *)features.firstObject;         

    // 弹框    

    UIAlertController *alertC = [UIAlertController alertControllerWithTitle:@"识别图中二维码" message:nil preferredStyle:UIAlertControllerStyleAlert];    

    [alertC addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {         NSLog(@"取消");     }]];    

    __weak typeof (self)weakSelf = self;    

    [alertC addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {        

                SFSafariViewController *safariVC = [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString:codef.messageString]];        

    [weakSelf presentViewController:safariVC animated:YES completion:nil];     }]];    

    [self presentViewController:alertC animated:YES completion:nil]; }

    相关文章

      网友评论

          本文标题:IOS-长按图片识别二维码

          本文链接:https://www.haomeiwen.com/subject/hmrgnxtx.html