iOS 识别图中二维码

来源:互联网 发布:透明罗盘软件 编辑:程序博客网 时间:2024/05/16 08:31

#import"ViewController.h"@interfaceViewController()<UIActionSheetDelegate>{   NSTimer*_timer;}@end@implementation ViewController- (void)viewDidLoad {        [superviewDidLoad];       UIImageView*zarimage = [[UIImageViewalloc]initWithFrame:CGRectMake(50,50,200,200)];    zarimage.image= [UIImageimageNamed:@"erweima.jpg"];    zarimage.userInteractionEnabled=YES;   UILongPressGestureRecognizer*longPress=[[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(dealLongPress:)];    [zarimageaddGestureRecognizer:longPress];    [self.viewaddSubview:zarimage];}#pragma mark->长按识别二维码    -(void)dealLongPress:(UIGestureRecognizer*)gesture{   if(gesture.state==UIGestureRecognizerStateBegan){       _timer.fireDate=[NSDatedistantFuture];       UIImageView*tempImageView=(UIImageView*)gesture.view;       if(tempImageView.image){           //1.初始化扫描仪,设置设别类型和识别质量           CIDetector*detector = [CIDetectordetectorOfType:CIDetectorTypeQRCodecontext:niloptions:@{CIDetectorAccuracy:CIDetectorAccuracyHigh}];           //2.扫描获取的特征组           NSArray*features = [detector featuresInImage:[CIImageimageWithCGImage:tempImageView.image.CGImage]];           if(features.count>0) {               CIQRCodeFeature *feature = [features objectAtIndex:0];               NSString *scannedResult = feature.messageString;               NSLog(@"扫描结果------%@",scannedResult);               UIActionSheet *ac = [[UIActionSheetalloc]initWithTitle:nildelegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:nilotherButtonTitles:@"发送给朋友",@"收藏",@"保存图片",@"识别图中二维码",nil];                [acshowInView:self.view];            }else{               UIActionSheet *ac = [[UIActionSheetalloc]initWithTitle:nildelegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:nilotherButtonTitles:@"发送给朋友",@"收藏",@"保存图片",nil];                [acshowInView:self.view];            }        }else{           UIAlertView* alertView = [[UIAlertViewalloc]initWithTitle:@"扫描结果"message:@"您还没有生成二维码"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil,nil];            [alertViewshow];        }    }elseif(gesture.state==UIGestureRecognizerStateEnded){       _timer.fireDate=[NSDatedistantPast];    }}


0 0
原创粉丝点击