您的位置:首页 > 移动开发 > IOS开发

ios-使用ZBar来扫描二维码/条形码

2014-08-27 11:15 666 查看
在我们ios开发中,经常需要开发一些扫毛二维码或者条形码的应用,现在国外有一款开源的SDK可供我们使用,下面来介绍下这个SDK在项目中的使用:

首先开源的SDK免费的下载地址:http://zbar.sourceforge.net

1、打开网址:



2、下载ZBar SDK:



3、把下载下来的SDK添加到你的项目当中:



4、把libiconv.2.dylib添加进.framework中:



至此,我们的准备工作已完成,接下来是代码实现:

- (void)initButton
{
    zbLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 50)];
    zbLabel.backgroundColor = [UIColor clearColor];
    zbLabel.textColor = [UIColor whiteColor];
    zbLabel.lineBreakMode = 0;
    zbLabel.numberOfLines = 0;
    [self.view addSubview:zbLabel];
    [zbLabel release];
    
    UIButton *zbBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    zbBtn.frame = CGRectMake(120, 330, 80, 40);
    zbBtn.backgroundColor = [UIColor whiteColor];
    zbBtn.tag = 1;
    [zbBtn setTitle:@"扫描" forState:UIControlStateNormal];
    [zbBtn addTarget:self action:@selector(clickBtn:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:zbBtn];
}

- (void)clickBtn:(UIButton *)sender
{
    ZBarReaderViewController *zbReader = [ZBarReaderViewController new];
    zbReader.readerDelegate = self;
    ZBarImageScanner *scanner = zbReader.scanner;
    [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0];
    [self presentViewController:zbReader animated:YES completion:nil];
    [zbReader release];
}

// ZBarReaderViewControllerDelegate
- (void) imagePickerController: (UIImagePickerController*)reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
    // 得到条形码结果
    id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
    ZBarSymbol *symbol = nil;
    for(symbol in results)
        // EXAMPLE: just grab the first barcode
        break;
    
    // 将获到的条形码显示到我们的界面上
    zbLabel.text = symbol.data;
    
    // 扫描界面退出
    [reader dismissViewControllerAnimated:YES completion:nil];
}


效果图如下:

1、开始扫描:



2、扫描结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: