#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];
}
}
iOS 识别图中二维码
最新推荐文章于 2022-10-07 14:32:50 发布