QRCodeReaderViewController 4.0.2

QRCodeReaderViewController 4.0.2

测试测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年9月

Yannick LoriotYannick Loriot 维护。



QRCodeReaderViewController最初是一个简单的二维码读取器,但现在它允许你指定你想要解码的格式类型。它基于苹果的AVFoundation框架,以替换 iOS 7 及以上版本中的 ZXing 或 ZBar。

它提供了一个默认视图控制器来显示带有扫描区域叠加的相机视图,同时它也提供了一个按钮来切换前后摄像头。

screenshot

使用

以下是一个非常简单的关于如何使用QRCodeReaderViewController的示例

// Create the reader object
QRCodeReader *reader = [QRCodeReader readerWithMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];

// Instantiate the view controller
QRCodeReaderViewController *vc = [QRCodeReaderViewController readerWithCancelButtonTitle:@"Cancel" codeReader:_reader startScanningAtLoad:YES showSwitchCameraButton:YES showTorchButton:YES];

// Set the presentation style
_vc.modalPresentationStyle = UIModalPresentationFormSheet;

// Define the delegate receiver
_vc.delegate = self;

// Or use blocks
[_reader setCompletionWithBlock:^(NSString *resultAsString) {
  NSLog(@"%@", resultAsString);
}];

现在当我们触摸扫描按钮时,我们需要显示 QRCodeReaderViewController

#pragma mark - Action Methods

- (IBAction)scanAction:(id)sender
{
  [self presentViewController:_vc animated:YES completion:NULL];
}

这里是代理方法

#pragma mark - QRCodeReader Delegate Methods

- (void)reader:(QRCodeReaderViewController *)reader didScanResult:(NSString *)result
{
  [self dismissViewControllerAnimated:YES completion:^{
    NSLog(@"%@", result);
  }];
}

- (void)readerDidCancel:(QRCodeReaderViewController *)reader
{
  [self dismissViewControllerAnimated:YES completion:NULL];
}

注意,你应该通过使用[QRCodeReader isAvailable][QRCodeReader supportsMetadataObjectTypes:nil]方法来检查设备是否支持读取库。

安装

在项目中使用 QRCodeReaderViewController 的推荐方法是使用CocoaPods包管理器,因为它提供灵活的依赖关系管理以及简单的安装。

手动

下载项目并将QRCodeReaderViewController文件夹复制到你的项目中,然后在你想使用的文件中简单地#import "QRCodeReaderViewController.h"

联系方式

Yannick Loriot

许可证 (MIT)

版权 (c) 2014-至今 - Yannick Loriot

特此授予任何人免费获得此软件和相关的文档文件(以下简称“软件”)的副本的权利,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,以及允许提供软件的人这样做,但需遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明确的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任承担责任,无论这些责任是因合同、侵权或其他行为而产生,或者与软件、软件的使用或其他方式有关。