ios扫描二维码方法

本文介绍如何在iOS应用中集成ZBarSDK进行二维码和条形码的扫描,并展示了如何解析扫描结果及进行相应操作。

//首先下载一个文件ZBarSDK,之后导入文件到工程,然后导入框架如下


//托控件如下


//导入头文件

#import "ZBarSDK.h"

//添加代理

@interface ViewController () <ZBarReaderDelegate, UIAlertViewDelegate>

//拖拽的imageview控件

@property (weak, nonatomic) IBOutlet UIImageView *myImgaeView;

//拖拽的label控件

@property (weak, nonatomic) IBOutlet UILabel *myLabel;

//提示框

@property (nonatomic, strong)UIAlertView *myAlertView;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

}


//扫描按钮方法的实现

- (IBAction)saomiao:(id)sender {

    

    // 弹出扫描界面

    ZBarReaderViewController *readerVC = [ZBarReaderViewController new];

    

    readerVC.readerDelegate = self;

    

    //开始扫描图片

    ZBarImageScanner *sanner = readerVC.scanner;

    [sanner setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];

    

    //展示图片

    readerVC.showsZBarControls = YES;

    

    [self presentViewController:readerVC animated:YES completion:^{

        

       

        

    }];

    

    

    

}


//使用图片

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

    //获取结果

    id<NSFastEnumeration> results = [info objectForKey:ZBarReaderControllerResults];

    

    ZBarSymbol *symbol;

    

    //搜寻结果

    for (symbol in results) {

        break;

    }

    //设置图片

    self.myImgaeView.image = [info objectForKey:UIImagePickerControllerOriginalImage];

    

    [picker dismissViewControllerAnimated:YES completion:^{

        

        

    }];

    

    //判断结果是二维码还是条形码

    

    if ([[symbol.data substringToIndex:4] isEqualToString:@"http"]) {

        

        self.myAlertView = [[UIAlertView alloc] initWithTitle:@"提示" message:symbol.data delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"前往", nil];

        [self.myAlertView show];

        

    } else {

    

        self.myAlertView = [[UIAlertView alloc] initWithTitle:@"提示" message:symbol.data delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

        [self.myAlertView show];

    

    }

    

    self.myLabel.text = symbol.data;

    

}


//前往按钮方法的实现

- (IBAction)go:(id)sender {

    

}


在真机中测试扫描二维码



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值